繁体   English   中英

EF 4.3和CodeFirst:一对多导航属性在没有实体代理的情况下加载为空值

[英]EF 4.3 & CodeFirst: One-to-many navigation properties loads as nulls without entity proxy

接下来是问题 - 我有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。 现在我通过为实体添加动态代理来解决这个问题,但是这在许多开发方面有一些不良影响(例如,保存可能导致“多个上下文的实体跟踪”错误)。 感谢您对此问题的任何帮助。

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

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

请注意,你需要

using System.Data.Entity 

使用包括

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM