【问题标题】:Entity framework auto eager load实体框架自动预加载
【发布时间】:2011-02-15 08:29:46
【问题描述】:

有没有办法让实体对象通过关系自动提取所有相关数据,而不必 .Include 我想要填充的所有内容?我不能使用延迟加载,因为这需要序列化以通过 WCF。让它自动填充相关集合真是太棒了。

【问题讨论】:

    标签: c# wcf entity-framework entity


    【解决方案1】:

    不,没有内置功能会自动加载整个对象图。您必须始终明确说明您想要预先加载哪些导航属性(使用Include 方法或LoadProperty 方法)。

    编辑:

    根据您的评论:通常应该可以构建一些自动加载器 - 但这并不容易。 ObjectContext 具有 MetadataWorkspace 属性,其中包含有关您的实体的所有元数据。您可以从元数据中加载有关您的实体的所有信息,并将所需的包含项添加到查询中。我期待一个问题 - 你必须以某种方式处理循环引用。如果您需要一些示例如何提取有关实体的信息,请查看 T4 POCO 生成模板。

    【讨论】:

    • 好的。那么有没有更通用的方法来遍历所有关系并加载数据?
    • @Dylan:我在回答中添加了一些想法。
    • 有没有办法修改生成的 T4 代码以拉取集合中所需的内容?
    • @Dylan:你可以修改 T4 为你创建这样的集合。
    • EF 6.1 改变了情况吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    相关资源
    最近更新 更多