C# 在实体框架中创建多个自引用类
如何让EF以正确的方式从下面的类中构建DB?是否有任何方法仅使用DataAnnotation属性存档此文件C# 在实体框架中创建多个自引用类,c#,entity-framework,ef-code-first,C#,Entity Framework,Ef Code First,如何让EF以正确的方式从下面的类中构建DB?是否有任何方法仅使用DataAnnotation属性存档此文件 public class Item { [Key] public long ItemId { get; set; } ... public virtual ICollection<Item> PrevItems { get; set; } public virtual ICollection<Item> NextItems {
public class Item
{
[Key]
public long ItemId { get; set; }
...
public virtual ICollection<Item> PrevItems { get; set; }
public virtual ICollection<Item> NextItems { get; set; }
}
公共类项目
{
[关键]
公共长项目ID{get;set;}
...
公共虚拟ICollection PreviItems{get;set;}
公共虚拟ICollection NextItems{get;set;}
}
以下是我的解决方案:
public ItemConfiguration()
{
this.HasMany(x => x.NextItems)
.WithMany(x => x.PrevItems)
.Map(x => x.ToTable("RelatedItems"));
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new ItemConfiguration());
}