c#Linq查询每个类型的EF4表的查询问题继承

我一直在寻找执行linq查询的方法来获取基于特定子继承类型的对象图。 我可能会说这有点不对,但我会尽力解释。

假设我有一个EF4模型,它有一个城市实体,一个细分实体,一个房子实体和一个特征实体。 这个城市与细分有着一对多的关系。 细分与房屋有一对多的关系。 而且房子与特征之间有一对多的关系。 两个实体子类型的特征实体。 让我们称他们为游泳池和车道。

c#linq查询将查询具有特征的所有房屋的所有城市的对象图表是什么。在图形的根部键入“城市”的“池”?

类似于:var cities = from city in context.Cities where ?????? 选择城市


您需要使用IQueryable.OfType方法来限制您实际感兴趣的类型。 EF4 IQueryable提供程序将负责其余部分,并为您生成正确的SQL查询。

Queryable.OfType <T>

以下查询应该可以工作(假设您已在模型中定义了所有正确的导航关系):

var cities = from city in context.Cities
             from house in city.Houses
             from pool in house.Features.OfType<Pool>
             where pool.MaxDepth == 6
             select city;
链接地址: http://www.djcxy.com/p/90193.html

上一篇: c# Linq query question with EF4 table per type Inheritance

下一篇: ASP.NET Core 2.0 Authentication Cookie not set