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

Personテーブルから?それは違いを生むでしょうか?また、Role クラスに以下を追加すると、どのような違いがありますか。

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

それは物事をどのように変えますか?

ありがとうございました

4

0 に答える 0