假设我有一个父实体“Firm”和一些继承自Firm的子实体。假设孩子被命名为“RedFirm”,“GreenFirm”和“BlueFirm”,如果我只想检索RedFirm和GreenFirm实例,那么查询Firm集合的正确方法是什么?
我知道我可以context.Firms.OfType(RedFirm)
,但这只会返回RedFirm实例。无论如何将类型集合传递给OfType或类似的东西?我想这可以通过工会来完成,但我认为效率会降低。
答案 0 :(得分:20)
context.Firms.Where(x => x is RedFirm || x is GreenFirm);
答案 1 :(得分:7)
您可以执行以下操作:
context.Firms.Where(item => (!(item is BlueFirm)));
答案 2 :(得分:2)
context.Firm.OfType<RedFirm>()./Rest of the query/
这是用户OfType
的方式