2014-11-21 103 views
0

谢谢你清除我的疑问RadimKöhler。真的,你救了我。我一直试图了解这一点几天。所以我在错误的方向思考,我应该理解它的调试模式。 这是您发给我的回复在开始观察调试窗口中的任何对象之前,请调用:session.Clear()。从那一刻起,只有已经加载的东西将在稍后提供。 所以,在调试窗口中,我们现在应该看到一些有关延迟加载失败的例外...不能理解NHibernae懒惰加载

正如您所说,我在代码中添加了session.Clear(),但找不到异常。
在哪里保持session.Clear()?如果可能的话请编辑我的代码。我的代码是这样

public class EntityUserDetails:IUserDetails 
{ 
    private ISession _session; 
    public EntityUserDetails(ISession session) 
    { 
     _session = session; 
    } 

    public bool GetUserDetails(string userId,string password) 
    { 
     var user = (from userDetails in _session.Query<UserDetails>() 
        where userDetails.UserId == userId && userDetails.Password == password 
        select userDetails); 

     //_session.Clear(); 

     foreach (var get in user) 
     { 

     } 

      return false; 
    } 

}

+0

只是尝试访问'user.Products'因为**用户** *(的UserDetails的实例)*被延迟加载*([根据你的映射(http://stackoverflow.com/q/26998748/ 1679310))* - 应抛出异常 – 2014-11-21 07:11:56

回答

0

你声明的属性虚拟?