如何使用实体框架在同一张表上指定一个关系?
我的表“项目”具有以下字段: - Id(唯一标识符) - ThreadId(唯一标识符) - 创建(日期时间) - 文本(nvarchar(max))
我的模型“项目”:-Id(Guid)-ThreadId(Guid)-创建(DateTime)-文本(字符串)-ChildItems(Icollection)
如何创建关系,以便 ChildItems 保存 Id = ThreadId 的项目?
如何使用实体框架在同一张表上指定一个关系?
我的表“项目”具有以下字段: - Id(唯一标识符) - ThreadId(唯一标识符) - 创建(日期时间) - 文本(nvarchar(max))
我的模型“项目”:-Id(Guid)-ThreadId(Guid)-创建(DateTime)-文本(字符串)-ChildItems(Icollection)
如何创建关系,以便 ChildItems 保存 Id = ThreadId 的项目?
我认为以下应该做到这一点:
modelBuilder.Entity<Item>()
.HasOptional(c => c.ChildItems)
.WithMany()
.HasForeignKey(c => c.ThreadId);
项目实体
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);