Etki alanı adımı devam ettirmek için DDD ve NHibernate kullanıyorum. Veritabanımda, bir varlıkla ilişkili olan her tablonun, denetim takibi için kullanılan dört ekstra sütunu (CreatedBy, UpdateBy, CreatedDate, UpdatedDate) vardır. Sadece toplama köklerinin kaydedilmesine izin veren depo desenini kullanıyorum. NHibernate, varlıkları toplanan kök üzerinde kaydetmeye çalıştığında, varlıkların denetim özelliklerinin ayarlanmadığı için SQL DateTime hatası alıyorum. NHibernate'de, kaydetmeden hemen önce nesnelerdeki özellikleri ayarlamak için bir yol var mı?NHibernate özellikleri otomatik olarak kaydediliyor
İşte küçük bir örnek. Toplam kök olan bir Sipariş nesnesine sahibim. Siparişin çocukları olan OrderNote nesneleri de var. Siparişe bir Sipariş Notu eklediğimde ve sonra Sipariş'i kaydettiğimde, CreatedDate/UpdateDate öğesi bir SQL DateTime taşmasına neden olacak DateTime.MinValue olarak ayarlandığından bir istisna atılır. Bu denetim sütunları kalıcılığın bir parçası olduğundan ve sorun etki alanıyla ilgili olmadığından, Not eklendiğinde bu özellikleri ayarlamak için Sipariş toplamını istemiyorum. Denetim sütunları/özellikleri yalnızca kalıcılık çerçevesi tarafından bilinmeli ve etki alanı tarafından bilinmelidir. NHibernate'i kaydederken veya güncellerken bu özellikleri ayarlamasını söyleyebilirim. Bunu yapmanın bir yolu var mı? bunu yapabilirsiniz
harika. Tam olarak aradığım şey bu. NHibernate için yeniyim ve bu özellikten habersizdim. Korumalı özellikler ile uygulanan bir IAuditable arabirim var, bu nedenle alan onları göremez. – awilinsk