0

EF流暢API - のためのNullable FK一対多同じテーブルの上に、私は同じテーブルに1対多の関係のためにNULL可能外部キーを作成する必要があり

public class NavigationMenu 
{ 

    [Key] 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int Id { get; set; } 

    public NavigationMenu() 
    { 
     MenuChildren = new HashSet<NavigationMenu>(); 
    } 

    public string Text { get; set; } 
    public string Action { get; set; } 
    public string Controller { get; set; } 
    public string Icon { get; set; } 
    public bool Selected { get; set; } 

    public int? NavigationMenuId { get; set; } 

    public virtual ICollection<NavigationMenu> MenuChildren { get; set; } 

    public virtual NavigationMenu NavigationMenus2 { get; set; } 

} 

流暢アピしかし、私とどちらが正しいか、hasManyの関係がbのことを意味

modelBuilder.Entity<NavigationMenu>() 
      .HasMany(e => e.MenuChildren) 
      .WithOptional(e => e.NavigationMenus2) 
      .HasForeignKey(e => e.NavigationMenuId); 
+0

どちらも正しいです。 –

答えて

1

modelBuilder.Entity<NavigationMenu>() 
      .HasOptional(c => c.NavigationMenus2) 
      .WithMany(c => c.MenuChildren) 
      .HasForeignKey(c => c.NavigationMenuId); 

か:、正しいである定義このことを知っていません任意の数の関連するオブジェクトもあります。 (ヌル可能なFKは問題ありません)

1対1の関係では、オプションであるかどうかを明示する必要があります。

関連する問題