【发布时间】:2011-11-23 16:14:57
【问题描述】:
我们在实体之间导航时遇到问题,其中一个实体基于视图。 问题是我们什么时候去
TableEntity.ViewEntity.Where(x => x.Id == Id).FirstOrDefault())
它在后台加载视图中的所有记录,这不是我们想要或期望的。
我们去的时候
_objectContext.TableEntityView
.Where(x => x.TableObjectId == TableObjectId && x.Id == Id)
然后它只加载我们所期望的一行
简而言之,使用导航属性会导致大量数据负载——就像查询正在提前实现一样。
我们将 EF 4 与 SQL 2005 数据库一起使用。这些视图用于提供聚合信息,EF 在没有大数据负载的情况下无法轻松完成(讽刺的是)。我们手动构建了 1:视图之间的许多关联。
那么为什么我们在第一个实例中获得了大数据负载,而在第二个实例中却没有呢?
非常感谢所有/任何帮助
【问题讨论】:
标签: c# sql-server-2005 entity-framework views