尝试将我们的EF4解决方案转换为EF CTP5,并遇到了问题。
以下是该模型的相关部分:
相关关系: - 单个县有多个城市 - 单个城市具有单个州
现在,我想执行以下查询: - 获取系统中的所有县,并包括所有城市,以及这些城市的所有州。
在EF4中,我会这样做:
var query = ctx.Counties.Include("Cities.State");
在EF CTP5中,我们有一个强类型的包含,它需要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)
由于ICollection<City>
没有名为State
的属性。
这几乎就像我需要使用嵌套的IQueryable。
有什么想法吗?我是否需要回退到这个场景中包含的魔术字符串?
答案 0 :(得分:51)