如何使用Entity Framework在同一个表上指定实际情况?
我的表'项'包含以下字段: - Id(uniqueidentifier) - ThreadId(uniqueidentifier) - 创建(日期时间) - 文本(nvarchar(max))
我的模特'项目': - Id(Guid) - ThreadId(Guid) - 创建(日期时间) - 文字(字符串) - ChildItems(Icollection)
如何创建关系以便ChildItems保存Id = ThreadId?
的项目答案 0 :(得分:5)
我认为以下内容应该这样做:
modelBuilder.Entity<Item>()
.HasOptional(c => c.ChildItems)
.WithMany()
.HasForeignKey(c => c.ThreadId);
答案 1 :(得分: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);