0

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

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())。在此之后,在 Elements 属性值的所有 Schema 实例中为空。现在我通过为实体添加动态代理来解决这个问题,但这在许多开发场景中都有一些不好的影响(例如,保存可能会导致“多上下文的实体跟踪”错误)。感谢您对这个问题的任何帮助。

4

1 回答 1

2

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

IE

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

请注意,您将需要

using System.Data.Entity 

使用包括

于 2012-03-18T09:19:28.397 回答