2009-07-08 17 views
6

NHibernate ile yeni başlayan bir kişiyim, lütfen bana katılın.NHibernate ile Eklenti Oluşturulduğu Tarihte Veritabanı Oluşturuldu

Diyelim ki, CreatedDate için bir özelliğim var ve bunun sql server datetime değeriyle doldurulmasını istedim.

i deyişle, "oluşturulan = daima" ile "insert = false" ve "update = false" ve sonra sql server düzeyinde CreatedDate için varsayılan değeri ayarlayın (bu özellik işaretlemek için öğrendim olası çözüm "Sütun sütunu", "Getdate()" e.

Bu doğru yaklaşım mı? Zaman ayırdığınız için teşekkürler, herhangi bir öneri iyi takdir edilecektir.

cevap

2

Başka bir çözüm kayıt oluşturulduğunda, SQLSunucusu tarihini eklemek etmektir. Sütunu null olmayan yapın ve varsayılan değerini SQL functon GETDATE() olarak ayarlayın. Kayıt oluşturulduğunda tarih/zaman damgası olacak. Diğer herhangi bir DateTime özelliği gibi NHibernate ile eşleyin.

+0

Yaptığımız şey budur ve Dateated ve DateModified sütunlarının bu şekilde yapıldığı bir iç kuralımız vardır. Basit ve çalışır. – Perhentian

1

Bu özelliği, bir Datetime olarak eşleştirebilirsiniz. Daha sonra, herhangi bir ekleme/güncelleştirme öncesinde, aşağıdaki gibi veritabanından tarih alabilirsiniz:

myEntity.LastModifiedDate = Session.CreateSQLQuery("SELECT GETDATE()").UniqueResult<DateTime>(); 
Session.SaveOrUpdate(myEntity);