我有一個問題,即新添加的實體的屬性不是延遲加載,如果需要在添加實體後立即添加。添加代碼優先實體不延遲加載屬性
例如:
我有一個虛擬JobRole屬性的用戶實體:
public class User
{
public int Id { get; set; }
public virtual JobRole JobRole { get; set; }
public int JobRoleId { get; set; }
public string Name { get; set; }
}
我然後添加新的用戶:
public User Add(User user)
{
var addedUser = _myContext.Users.Add(user);
myContext.SaveChanges();
return addedUser;
}
返回參照新的用戶然後傳遞給Razor視圖,在那裏它試圖顯示JobRole(例如JobRole.Name)。在用戶傳遞到視圖時,它具有:
- JobRoleId正確設置爲整數值。
- JobRole = NULL
那麼我希望JobRole偷懶加載,通過查看使用時,但它是不是和導致空引用異常。
這是預期的行爲,還是有辦法讓新添加的實體延遲加載其屬性?
在此先感謝您的任何想法。
環境: 使用實體框架4.2代碼優先。 啓用延遲加載。
我有這個問題,答案是正確的。但是,我的代碼首先使用數據庫。所以我建議你編輯標題,以便將來的搜索更容易登陸。 – 2015-07-26 09:15:31