EF学习杂记1:如何在继承类中返回指定的类

假设有一个如下这样的模型:

EF学习杂记1:如何在继承类中返回指定的类

怎样仅仅查询Cars?

这是OfType<SubType>()登场的时候。你编写如下这样的代码:

var onlyCars = from car in ctx.Vehicles.OfType<Car>()

                           select car;

且这个可以很好的工作。这将结果限制在Cars,附带包含了Cars,Sports

怎样仅查询Cars而不附带其子类型?

考虑你的预算只够选择一个简单的家用轿车。这意味着你不想要SUV与运动轿车(SportsCars)。

你需要在查询中明确限制以避免返回所有的子类型:

var onlyCars = from car in ctx.Vehicles.OfType<Car>()

                           where !(car is SportsCar) && !(car is SUV)

                           select car;

现在你的代码仅返回Cars类型的对象。

你可能感兴趣的:(继承)