【发布时间】:2024-01-21 10:01:01
【问题描述】:
尝试将我们的 EF4 解决方案转换为 EF CTP5,但遇到了问题。
这是模型的相关部分:
相关关系: - 一个县拥有许多城市 - 一个City有一个single State
现在,我想执行以下查询: - 获取系统中的所有县,包括所有城市,以及这些城市的所有州。
在 EF4 中,我会这样做:
var query = ctx.Counties.Include("Cities.State");
在 EF CTP5 中,我们有一个强类型的 Include,它接受 Expression<Func<TModel,TProperty>>。
我可以得到县的所有城市没问题:
var query = ctx.Counties.Include(x => x.Cities);
但是我怎样才能获得这些城市的 State 呢?
我使用的是纯 POCO,所以 County.Cities 是 ICollection<City>,因此我不能这样做:
var query = ctx.Counties.Include(x => x.Cities.State)
因为ICollection<City> 没有名为State 的属性。
这几乎就像我需要使用嵌套的 IQueryable。
有什么想法吗?在这种情况下我需要回退到魔术字符串 Include 吗?
【问题讨论】:
标签: entity-framework poco eager-loading entity-framework-ctp5