0

我有一个关于 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; }

从人表?那会有什么不同吗?另外,如果我将以下内容添加到 Role 类中,会有什么不同:

public virtual List<Person> Persons {get; set;}

这如何改变事情?

谢谢

4

0 回答 0