5

如何使用實體框架在同一張桌子上指定一個房子?與實體框架在同一張桌子上的關係

我的表 '項目' 具有以下字段: - ID(唯一標識符) - 的ThreadId(唯一標識符) - 創建(日期時間) - 文本(爲nvarchar(MAX))

我的模型 '項目' : - ID(GUID) - 的ThreadId(GUID) - 創建(日期時間) - 文本(字符串) - ChildItems(ICollection的)

如何建立的關係,使ChildItems持有編號爲的項目=的ThreadId?

+0

你的意思是使用代碼優先的方法或其他? –

+0

代碼首先,對不起 – Kulvis

回答

5

我認爲有以下應做到:

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

Item實體

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