[英]Entity framework does not load navigation properties
我將EF和POCO一起用於我的一個項目。
數據上下文和pocos已成功創建,我可以獲取數據。 有一個問題:導航屬性始終為null。
我有這兩節課:
public class UserProfile {
public string Username { get; set; }
public int RoleId { get; set; }
public virtual SecurityRole SecurityRole { get; set; }
}
public class SecurityRole {
public int roleId { get; set; }
public string RoleDescription { get; set; }
}
public class DataContext : ObjectContext {
public ObjectSet<UserProfile> UserProfiles { get; set; }
public ObjectSet<SecurityRole> SecurityRoles { get; set; }
public DataContext() : base("name=datacontext_entities", "datacontext_entities") {
UserProfiles = CreateObjectSet<UserProfile>();
SecurityRole = CreateObjectSet<SecurityRole>();
}
}
該數據庫包含來自用戶配置文件和安全角色的對象。 外鍵已設置。 我通過簡單的linq查詢訪問這些元素: Db.UserProfile.FirstOrDefault(f => f.Username == username);
Db
是我的數據上下文。
整個用戶配置文件對象將具有數據,但導航屬性SecurityRole始終為null。
我想念什么嗎?
我認為EF代碼首次工作的方式應該是在您的SecurityRole類上將Id屬性設置為SecurityRoleId或其他內容,或對其應用[Key]屬性。 那應該工作
public class SecurityRole
{
[Key]
public int roleId { get; set; }
public string RoleDescription { get; set; }
}
要么
public class SecurityRole
{
public int SecurityRoleId { get; set; }
public string RoleDescription { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.