接下来是问题 - 我有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包。 在数据库中存储了一些带有相关元素的Schema后,我加载了Schemas列表(例如,var schemasList = context.Schemas.ToList())。在此之后,在Elements中的Schema的所有实例中,属性值为null。现在我通过为实体添加动态代理来解决这个问题,但是这在许多开发方面有一些不良影响(例如,保存可能导致“多个上下文的实体跟踪”错误)。 感谢您对此问题的任何帮助。
答案 0 :(得分:2)
您在查询中使用过.Include吗?
即
from s in Schema.Include(sc=>sc.Elements)
select s;
请注意,您需要
using System.Data.Entity
使用include