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