我正在尝试使用 Entity Framework 7.0.0-rc1-final 映射两个类。这是我的类(class):
public class ParentClass
{
public ParentClass() { }
[Key]
public Int32 Id { get; set; }
[Required]
public String Field { get; set; }
public List<ChildClass> Children { get; set; }
}
public class ChildClass
{
[Key]
public Int32 Id { get; set; }
public Int32 ParentID { get; set; }
public ParentClass Parent { get; set; }
}
并且我在使用 Fluent API 的上下文类中有一个映射代码:
builder.Entity<ChildClass>().HasOne(x => x.Parent)
.WithMany(x => x.Children).HasForeignKey(x => x.ParentID);
然后我添加了几个带有子项的 ParentClass 实例并将它们保存到数据库中。它们被保存到数据库并且在数据库中看起来不错,但是当我试图获取 ParentClass 子级列表时,我总是有空列表:
var data = _context.ParentInstances.ToList();
data[any].Children == null
最佳答案
您需要声明您希望在查询中包括 child 的事实 尝试:
var data = _context.ParentInstances.Include(p => p.Children).ToList();
编辑:
确保添加对 Microsoft.Data.Entity 的引用
关于c# - EF7 一对多映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37116988/