Общие методы для оптимизации 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

Что такое бизнес-логика? #понятия_веб_разработки #вебликбез

https://falconspace.ru/blog/bazovye-voprosy-i-ponyatiya-v-sfere-sozdaniya-veb-proektov - Основы веб-разработки. Базовые понятия для владельца сайта

7 часов ago

Кто такой Fullstack разработчик? #понятия_веб_разработки #вебликбез

https://falconspace.ru/blog/bazovye-voprosy-i-ponyatiya-v-sfere-sozdaniya-veb-proektov - Основы веб-разработки. Базовые понятия для владельца сайта

1 день ago

Что такое Баг? #понятия_веб_разработки #вебликбез

https://falconspace.ru/blog/bazovye-voprosy-i-ponyatiya-v-sfere-sozdaniya-veb-proektov - Основы веб-разработки. Базовые понятия для владельца сайта

2 дня ago

Что такое Юзабилити? Что такое UX/UI? #понятия_веб_разработки #вебликбез

https://falconspace.ru/blog/bazovye-voprosy-i-ponyatiya-v-sfere-sozdaniya-veb-proektov - Основы веб-разработки. Базовые понятия для владельца сайта

3 дня ago

Удаленная работа с клиентами: как организовать?

Поскольку коммуникация и взаимодействие клиента с поставщиком — краеугольный камень продаж в целом и формирования…

3 дня ago

Что такое Мокап сайта, дизайн, верстка? #понятия_веб_разработки #вебликбез

https://falconspace.ru/blog/bazovye-voprosy-i-ponyatiya-v-sfere-sozdaniya-veb-proektov - Основы веб-разработки. Базовые понятия для владельца сайта

5 дней ago