Комбинируйте выражения вместо использования нескольких запросов в entity framework
i have following generic queryable (which may already have selections applied):
Что я уже пробовал:
Интерфейс IQueryable&ЛТ;tentity> В запрашиваемых = в dbset&ЛТ;tentity&ГТ;.AsQueryable();
Затем есть класс Provider, который выглядит следующим образом:
поставщик публичных классов<tentity>
{
публичное выражение & lt;func> & lt; tentity,> & gt; Condition { get; set; }
[...]
}
Условие может быть определено для каждого экземпляра следующим образом:
Условие = сущность = & gt; сущность.Id == 3;
Теперь я хочу выбрать все экземпляры провайдера, которые имеют условие, удовлетворяющее хотя бы одному объекту DBSet:
Список & lt;provider> providers = [...];
var matchingProviders = провайдеры.Где (provider = & gt; queryable.Любой провайдер.Состояние))
Проблема вот в чем: я начинаю запрос для каждого экземпляра поставщика в списке. Я бы предпочел использовать один запрос для достижения того же результата.
Эта тема особенно важна из-за сомнительной производительности. Как я могу достичь тех же результатов с помощью одного
запросов и повысить производительность, используя инструкции LINQ и деревья выражений?