1
我發現自己寫如下代碼頗多:NHibernate的:如何檢查是否一個實體是持續
if (myEntity.Id == default(Guid))
Session.Save(myEntity);
什麼是檢查實體已經是持續的(因此犯規需求的最佳途徑被保存)?
我在做錯寫這樣的代碼嗎?
我發現自己寫如下代碼頗多:NHibernate的:如何檢查是否一個實體是持續
if (myEntity.Id == default(Guid))
Session.Save(myEntity);
什麼是檢查實體已經是持續的(因此犯規需求的最佳途徑被保存)?
我在做錯寫這樣的代碼嗎?
這就是我所做的,除非我通常在執行此檢查的基類或擴展中使用IsNew()或IsTransient()方法。然後代碼變爲:
public Boolean IsTransient(){
return this.Id == default(Guid);
}
不要忘記,Session.SaveOrUpdate(實體)方法將導致持久實體的更新(而不是插入),所以你可以使用此方法,而忽略檢查。我寧願做檢查。