实体框架OfType()

e36*_*6M3 12 c# entity-framework

假设我有一个父实体"Firm"和一些继承自Firm的子实体.假设孩子被命名为"RedFirm","GreenFirm"和"BlueFirm",如果我只想检索RedFirm和GreenFirm实例,那么查询Firm集合的正确方法是什么?

我知道我可以做context.Firms.OfType(RedFirm),但只返回RedFirm实例.无论如何将类型集合传递给OfType或类似的东西?我想这可以通过工会来完成,但我认为这样效率会降低.

Kir*_*oll 22

context.Firms.Where(x => x is RedFirm || x is GreenFirm);
Run Code Online (Sandbox Code Playgroud)


Eri*_*ren 7

你可以这样做:

context.Firms.Where(item => (!(item is BlueFirm)));
Run Code Online (Sandbox Code Playgroud)