當我嘗試並使用由ID加載的實體:爲什麼沒有找到任何東西Session.Load <User>(id)返回null?
Session.Load<User>(21);
我收到了「具有給定標識符的行存在」。
在我的代碼,我檢查像空:
if(user == null)
我怎麼想知道,如果該行不存在,或者我怎麼可以讓它返回null呢?
當我嘗試並使用由ID加載的實體:爲什麼沒有找到任何東西Session.Load <User>(id)返回null?
Session.Load<User>(21);
我收到了「具有給定標識符的行存在」。
在我的代碼,我檢查像空:
if(user == null)
我怎麼想知道,如果該行不存在,或者我怎麼可以讓它返回null呢?
因爲它實際上並沒有對數據庫進行往返。實際上,您正在獲取延遲加載的代理,因此NHibernate無法知道它是否真的存在。如果你需要知道,如果真的存在,你應該使用:
var entity = Session.Get(21)
使用Get<T>(id)
(more detailed explanation about NH get/load/query)
我做的是:返回Session.Load(ID);哎呀,好吧,只是讀你寫的GET。謝謝! –
mrblah
2009-12-28 17:39:06