1
我學習代碼優先,並試圖爲我的項目創建數據庫模型。爲了使我的問題簡單,我會在我的模型的兩個表使用 - 用戶和角色代碼優先的對象映射,無法獲取表格屬性
我的主要問題現在的問題是,我不能使用財產得到作用。例如我的代碼:
var role = dbContext.Users.FirstOrDefault(n => n.UserId== id).Role;
返回null。我認爲這是模型映射的問題。我的用戶類的樣子:
public class User
{
public User()
{
Role = new Role();
}
public int UserId { get; set; }
[Required]
public string Login { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Password { get; set; }
public DateTime CreationDate { get; set; }
public DateTime LastLoginDate { get; set; }
[ForeignKey("Role")]
public int RoleId { get; set; }
public Role Role { get; set; }
public virtual ICollection<Telephone> Telephones { get; set; }
}
我的角色類:
public class Role
{
public Role()
{
Users = new List<User>();
}
public int RoleId { get; set; }
public string RoleName { get; set; }
public string RoleDescription { get; set; }
public ICollection<User> Users { get; set; }
}
和DB背景下與這兩個類:
public CallCenterContext() : base(@"CONNECTIONSTRING")
{
}
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
你能懇求幫助我的模型映射? 謝謝大家的回答!
這個代碼仍然在我的項目 返回空的角色,我不能添加: .INCLUDE(U => u.Role) – mersey
是的,我檢查了它 我的代碼現在︰ var role = dbContext.Users.Include(「Role」)。First(n => n.UserId == currentUser.UserId).Role; – mersey
我需要在我的Role屬性中創建一個虛擬對象,並且在我的User類構造函數中創建了一個新角色,所以每次我只爲我的用戶創建一個新角色。感謝您的幫助 – mersey