试图在实体框架(核心)

时间:2017-04-13 06:28:15

标签: c# asp.net .net entity-framework navigational-properties

我对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;}

这是如何改变的?

谢谢

0 个答案:

没有答案