2014-11-21 44 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

你聲明的屬性虛擬?