5

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

私のテーブル'Items'には次のフィールドがあります:-Id(一意の識別子)-ThreadId(一意の識別子)-作成された(日時)-テキスト(nvarchar(max))

私のモデル'Item':-Id(Guid)-ThreadId(Guid)-Created(DateTime)-Text(string)-ChildItems(Icollection)

ChildItemsがId=ThreadIdのアイテムを保持するように関係を作成するにはどうすればよいですか?

4

2 に答える 2

5

私は次のことがそれをするだろうと思います:

modelBuilder.Entity<Item>()
                    .HasOptional(c => c.ChildItems)
                    .WithMany()
                    .HasForeignKey(c => c.ThreadId);
于 2012-05-23T10:24:37.110 に答える
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);
于 2012-05-23T10:58:13.780 に答える