【发布时间】:2017-02-06 18:58:58
【问题描述】:
我为数据库优先的实体框架模型启用了延迟加载。在本例中,我将使用表 State 和 City,其中 City 表是 State 表的子表(通过外键连接)。
使用以下查询时:
from State in DBEntity.State
where State.StateId == 1
select State
我得到了 State 对象,其中包括一个 City 对象列表。使用上面的查询时会填充此列表。在某些情况下,我只需要州列表而不需要城市。在这些情况下,获取子数据(城市)会显着降低性能。在其他一些情况下,即使性能很慢,我也确实需要所有子数据。
我怎样才能实现以下目标:
- 在一个函数中获取所有州和城市数据
- 在另一个函数中只获取州数据而不是城市数据(无子数据)
【问题讨论】:
-
我建议在模型范围内禁用延迟加载,并在必要时使用急切加载 (
Include())。如果需要,您可以在各个上下文实例中启用延迟加载。
标签: entity-framework