Ответ 1
context.Firms.Where(x => x is RedFirm || x is GreenFirm);
Предположим, что у меня есть родительский объект "Фирма" и несколько дочерних объектов, которые наследуются от Фирмы. Предполагая, что дети названы "RedFirm", "GreenFirm" и "BlueFirm", каков правильный способ запроса коллекции Firm, если я хочу получить только экземпляры RedFirm и GreenFirm?
Я знаю, что могу сделать context.Firms.OfType(RedFirm)
, но это возвращает только экземпляры RedFirm. Есть ли способ передать коллекцию типов в OfType или что-то подобное этому? Я предполагаю, что это можно сделать через объединение, но я думаю, что это будет менее эффективно.
context.Firms.Where(x => x is RedFirm || x is GreenFirm);
Вы можете сделать что-то вроде:
context.Firms.Where(item => (!(item is BlueFirm)));
context.Firm.OfType<RedFirm>()./Rest of the query/
Это способ пользователя OfType