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? Или есть другие идеи как решить эту проблему?