EF 4.3&;CodeFirst:在没有实体代理的情况下,一对多导航属性加载为null

本文关键字:情况下 代理 一对多 导航 null 加载 属性 实体 amp CodeFirst EF | 更新日期: 2023-09-27 18:28:06

下一个问题是-我有两个具有一对多关系的实体:

public class Schema
{
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public Guid SchemaId { get; set; }
    public string Name { get; set; }
    public string Content { get; set; }
    public string ElementName { get; set; }
    public List<Element> Elements { get; set; }
}
public class Element
{
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public Guid ElementId { get; set; }
    public Guid SchemaId { get; set; }
    public string Content { get; set; }
    public Schema InSchema { get; set; }
}

和引用EntityFramework v4.3包的项目。在数据库中存储了一些具有相关元素的架构后,我加载架构列表(例如,var schemasList=context.Schemas.ToList())。在此之后,在元素中的所有架构实例中,属性值都为null。现在我通过为实体添加动态代理来解决这个问题,但这在许多开发场景中都会产生一些不良影响(例如,保存可能会导致"多上下文实体跟踪"错误)。感谢您对这个问题的帮助。

EF 4.3&;CodeFirst:在没有实体代理的情况下,一对多导航属性加载为null

您在查询中使用过.Include吗?

from s in Schema.Include(sc=>sc.Elements)
select s;

注意,您需要

using System.Data.Entity 

使用包括

相关文章: