Entity Framework OfType () - PullRequest
       2

Entity Framework OfType ()

12 голосов
/ 03 ноября 2010

Предположим, у меня есть родительская сущность "Фирма" и несколько дочерних сущностей, которые наследуются от Фирмы. Предполагая, что дочерние элементы называются «RedFirm», «GreenFirm» и «BlueFirm», каков правильный способ запроса коллекции «Фирма», если я хочу получить только экземпляры RedFirm и GreenFirm?

Я знаю, что могу сделать context.Firms.OfType(RedFirm), но это возвращает только экземпляры RedFirm. Есть ли способ передать коллекцию типов в OfType или что-то подобное? Я полагаю, что это можно сделать через профсоюз, но я думаю, что это будет менее эффективно.

Ответы [ 3 ]

20 голосов
/ 03 ноября 2010
context.Firms.Where(x => x is RedFirm || x is GreenFirm);
7 голосов
/ 03 ноября 2010

Вы можете сделать что-то вроде:

context.Firms.Where(item => (!(item is BlueFirm)));
2 голосов
/ 27 июля 2017
context.Firm.OfType<RedFirm>()./Rest of the query/

Это способ пользователя OfType

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...