不同列名称的实体类型配置映射问题



假设我有以下类

   public class A
{
    public int ID{get;set;}
    public string Name{get;set;}
    public List<B> BList{get;set;}
}
public class B
{
    public int ID{get;set;}
    public int AID{get;set;}
    public string Name{get;set;}
    public A AObject{get;set;}
}
public class AMap:EntityTypeConfiguration<A>
{
   public AMap()
   {
    this.ToTable("ATable");
    this.HasKey(x => x.ID);
   }
}
public class BMap:EntityTypeConfiguration<B>
{
   public BMap()
   {
    this.ToTable("BTable");
    this.HasKey(x => x.ID);
    this.Property(x => x.AID).IsRequired();
    this.HasRequired(x => x.AObject).WithMany(x => x.BList).HasForeignKey(x => x.AID);
   }
}

当我获得 ATable 的单个记录时,它应该绑定 A 对象中的 BTable 记录列表,但我得到 BList null。

我在这里错过了什么?

您应该在导航中使用虚拟。

public class A
{
    public int ID{get;set;}
    public string Name{get;set;}
    public virtual List<B> BList{get;set;}
}
public class B
{
    public int ID{get;set;}
    public int AID{get;set;}
    public string Name{get;set;}
    public virtual A AObject{get;set;}
}

相关内容

  • 没有找到相关文章

最新更新