试图将我们的 EF4 解决方案转换为 EF CTP5,但遇到了问题。
这是模型的相关部分:
相关关系: - 一个县有多个城市 - 一个城市有一个州
现在,我想执行以下查询: - 获取系统中的所有县,并包括所有城市,以及这些城市的所有州。
在 EF4 中,我会这样做:
var query = ctx.Counties.Include("Cities.State");
在 EF CTP5 中,我们有一个强类型的 Include,它需要一个Expression<Func<TModel,TProperty>>
.
我可以毫无问题地为县获得所有城市:
var query = ctx.Counties.Include(x => x.Cities);
但是我怎样才能获得这些城市的状态呢?
我使用的是纯 POCO,所以County.Cities
是ICollection<City>
,因此我不能这样做:
var query = ctx.Counties.Include(x => x.Cities.State)
AsICollection<City>
没有名为 的属性State
。
这几乎就像我需要使用嵌套的 IQueryable。
有任何想法吗?在这种情况下,我是否需要回退到魔术字符串 Include ?