我对EF Core中的导航属性有疑问,我似乎无法弄清楚。如果我有一张桌子和一张相关的桌子:
Person
=========
PersonId
Name
Surname
RoleId
Role
=========
RoleId
RoleName
现在我在C#
中实现它的模型public class Person
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int PersonId {get; set;}
public string Name {get; set;}
public string Surname {get; set;}
public int? RoleId { get; set; }
public virtual Role Role { get; set;}
}
public class Role
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int RoleId { get; set; }
public string RoleName { get; set; }
}
这是正确的实施吗?具体来说,我想知道如果我遗漏会发生什么
public int? RoleId { get; set; }
来自Person表的?这会有所作为吗? 另外,如果我将以下内容添加到Role类中会有什么不同:
public virtual List<Person> Persons {get; set;}
这是如何改变的?
谢谢