日期:2014-05-17  浏览次数:20467 次

NHibernate不抛出异常问题
private IQueryable<T> GetData()
        {
            IQueryable<T> data = Session.Query<T>();
            data = data.Where(p => true);
            return data;
        }


public IList<T> Get()
{
return GetDate().ToList();
}


如果采用这种方法,数据库连接出现了问题,比如说,没有hbm文件等,根本是不会抛出异常的,只是返回一个空List,
是不是因为延迟加载的机制,使得根本没有访问数据库。

------解决方案--------------------
他本身已经过判断处理了呀

你也可以自己报出错误异常
if(Session==null){
   throw (new Exception("没有找到数据源!"));
}
------解决方案--------------------
如果他本身
List<T> list = new List<T>();
foreach(var xx in xxlist)
...
return list

这样应该是不报错的吧