5

Entity Frameworkを使用して同じテーブルにrealtionshipを指定するにはどうすればよいですか?Entity Frameworkと同じテーブルの関係

私のテーブル 'アイテム' 次のフィールドがあります。 - ID(UNIQUEIDENTIFIER) - スレッドID(UNIQUEIDENTIFIER) - 作成した(日時) - テキスト(データ型はnvarchar(MAX))

マイモデル 'アイテム' : - ID(GUID) - スレッドID(GUID) - 作成した(日時) - テキスト(文字列) - ChildItems(ICollectionを)IDを持つアイテムを保持ChildItemsように、私は関係を作成するにはどうすればよい

=スレッドID?

+0

あなたは、コードファーストアプローチまたは他のを使用して意味しますか? –

+0

コードまず、ごめんなさい – Kulvis

答えて

5

私は次のようにそれを行うものと思う:

modelBuilder.Entity<Item>() 
        .HasOptional(c => c.ChildItems) 
        .WithMany() 
        .HasForeignKey(c => c.ThreadId); 
2

項目エンティティ

public class Item 
{ 
    public Guid Id { get; set; } 
    public Guid ThreadId { get; set; } 
    public ICollection<Item> ChildItems { get; set; } 

    /* Other properties */ 
} 

そして流暢な構成

modelBuilder.Entity<Item>() 
       .HasMany(i => i.ChildItems) 
       .WithOptional() 
       .HasForeignKey(i => i.ThreadId); 
関連する問題