我为数据库优先的实体框架模型启用了延迟加载。在这个例子中,我将使用表State和City,其中City表是State表的子表(通过外键连接)。使用实体框架仅选择父数据而不选择子数据
当使用下面的查询:
from State in DBEntity.State
where State.StateId == 1
select State
我得到的国家目标,其中包括城市对象的名单。使用上面的查询时,此列表将被填充。在某些情况下,我只需要国家名单,不要城市。在这些情况下,获取儿童数据(城市)会显着降低性能。在其他一些情况下,即使表现较慢,我确实需要所有儿童数据。
如何能够做到以下几点:
- 获得所有国家和城市的数据在一个功能
- 在另一个函数得到的只是国家的数据,而不是城市数据(无子数据)
我建议禁用整个模型的惰性加载,并在必要时使用加载('Include()')。如果需要,您可以在各个上下文实例中启用延迟加载。 –