Общие методы для оптимизации LINQ

  • Использовать Stored procedures для сложного чтения
    Для сложного чтения из базы вместо LINQ используйте stored procedures (фильтры, поиск, большое количество данных, большое число параметров).
  • Применять LINQ Include для включения связанных данных
    Используйте LINQ Include, чтобы сразу включить в запрос дополнительные связанные небольшие таблицы (иначе внешние ключи будут делать много лишних запросов из за lazy loading).
  • Использовать SQL в связке с Dapper для сложных и долгих запросов
    Для сложных и долгих запросов имеет смысл использовать не LINQ, а SQL в связке с Dapper (https://gist.github.com/panesofglass/5212462).
    Это средство исполнения SQL и мапинга результата в объекты. Вы можете мапить в Entity объекты, либо в dymanic объекты. В некоторых случаях Dapper дает выигрыш более чем в 5 раз по сравнению в LINQ.
  • Применять по возможности Data Reader
    Data Reader – это самый быстрый способ извлечения большого списка данных (если не Data Reader – то тогда используйте Dapper, как более удобную оболочку).
Руслан Раянов

Recent Posts

Форма теста внешних действий #falconstart

Вызов внешних действий - это возможность действия, выходящего за рамки возможности работы с БД через…

4 недели ago

Концепция внешних действий – telegram, email, уведомления на сайте

Вызов внешних действий - это возможность действия, выходящего за рамки возможности работы с БД через…

1 месяц ago

Работа с JSON в SQL #falconstart

После выполнения действий в SQL на клиенте иногда возникает необходимость что-то обновить или сделать. Для…

1 месяц ago

Форма с отправкой запроса API. Тестирование исходящих запросов #falconstart

Вы можете обратиться к внешним API через использование Внешних действий (код apirequest, использование описано в…

1 месяц ago

Таблица Trace для отслеживания событий на сайте

В системной таблице as_trace хранятся данные по работе приложения. Поле code определяет тип события: DBLREQ…

1 месяц ago

Работа с ошибками в системе. Генерация отчета по ошибкам #falconstart

Рассмотрим механизм анализа ошибок, как это всё работает, и как его использовать. Когда происходит ошибка…

1 месяц ago