实体框架OfType()

时间:2010-11-03 17:44:45

标签: c# entity-framework

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

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

3 个答案:

答案 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

的方式