Как декорировать Expression?

Asp.Net MVC, MS Sql, Entity Framework

Есть запрос, который агрегирует полтора десятка больших таблиц. Выглядит он примерно так:

_db.Table.Where(t=>...)
  .Select(t=>new Model{
    Field1 = t.SomeTable.Field
    Field2 = t.SomeTable2.Field
    ...итд, около 30ти полей...}).ToList();


Работает это всё не особо быстро, нагрузку на БД создаёт ощутимую.

Вопрос такой:
Часто бывает так, что некоторые поля не нужны, и соответственно агрегировать некоторые таблицы не нужно, и поэтому нужно сделать "базовый" Expression и декорировать его нужными дополнительными полями.
Просто описывать все возможные варианты теоретически можно, но вариативность большая.
Есть какой-нибудь способ декорировать Expression? Или есть другие идеи как решить эту проблему?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
Подобные задачи в работе возникают регулярно. Строю текст SQL-запроса вручную, безо всяких Linq to SQL.
В зависимости от текущих потребностей, включаю в текст SQL-запроса те таблицы, условия, группировки и т.д., которые нужны.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
adressmoeistranici
@adressmoeistranici
Делатель
нужно создать хранимые процедуры
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы