我正在使用流利的Nhibernate.此代码根据其ID从DB加载类型T的实例.
public T GetById(IdT id,bool shouldLock) { T entity; if (shouldLock) { entity = (T) NHibernateSession.Load(persitentType,id,LockMode.Upgrade); } else { entity = (T) NHibernateSession.Load(persitentType,id); } return entity; }
但我有很大的问题.当我调用属性时,我得到ObjectNotFoundException而不是null.
如何使该实体可以为空并且不返回异常?
解决方法
我会使用Get而不是Load. Get将返回null,而不是异常.