如何使用流畅配置配置实体框架,其行为方式与使用属性执行此操作的方式相同:
public class Product
{
public int? ParentId { get; set; }
[ForeignKey("ParentId")]
public virtual Product Parent { get; set; }
}
答案 0 :(得分:1)
假设您要创建自引用实体,我假设您有一个Product
类,如下所示:
public class Product
{
public int Id { get; set; }
public int? ParentId { get; set; }
public virtual Product Parent { get; set; }
}
在上下文中,您需要实现OnModelCreating
方法才能配置自引用。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Product>().
HasOptional(e => e.Parent).
WithMany().
HasForeignKey(m => m.ParentId);
}