c# - EF7 一对多映射

标签 c# .net mapping entity-framework-core .net-core

我正在尝试使用 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/

相关文章:

c# - 如何检查位值是否等于 1?

c# - 当一个对象被强制转换为基类时,它如何记住它的真实身份?

c# - 无法将 LINQ 查询结果转换为 ToList

.net - Winforms 中的 VB.Net UserControl 关闭事件

c# - 父任务不等待子任务完成

java - 如何在 Hibernate 中进行基于自定义查询的集合映射?

c# - 使用 MongoDatabase 类而不是 MongoDatabaseImpl

.net - ASPxCallbackPanel 上的 PerformCallback 似乎没有结束

list - scala:将 List[ Tuple3[A,B,C] ] 转换为 Foo(A, B, List[C]) 的最短方法

javascript - 使用映射插件 knockout 刷新viewModel