Изменения документа Минусы EF
Редактировал(а) Alexandr Fokin 2024/03/20 14:30
От версии 14.2
отредактировано Alexandr Fokin
на 2022/12/01 04:45
на 2022/12/01 04:45
Изменить комментарий:
Update document after refactoring.
К версии 4.1
отредактировано Alexandr Fokin
на 2020/01/25 19:02
на 2020/01/25 19:02
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Разработка.NET.Работа с БД.EntityFramework | EntityFrameworkCore.Сценарии и проблемы.WebHome1 +Разработка.NET.Работа с БД.EntityFramework.WebHome - Содержимое
-
... ... @@ -1,31 +9,9 @@ 1 -1. В некоторых ситуация плохая генерация sql запросов. Решается написанием немного иного кода или ручным написанием запроса. (См. ссылку 1, 3) 2 -Проблемы возможны при join, in. В целом при создании более сложных вопросов стоит оценивать генерируемый EF sql запрос. 3 -!Вполне возможна ситуация, когда несколько более простых последовательных простых запросов выполняться быстрее, чем один сложный запрос. (Из плюсов - механизм [[Change Tracking | Отслеживание изменений>>Разработка.NET.Работа с БД.EntityFramework | EntityFrameworkCore.Механизмы.Change Tracking | Отслеживание изменений.WebHome]], который смапить все запросы в набор сущностей) 4 -1. Нет возможности сделать вложенную транзакцию из кода. 5 -1. Из коробки нет возможности указать использовать [[Табличные указания (Хинты)>>doc:Разработка.Базы данных.SQL.MSSQL.TSQL.Табличные указания (Хинты).WebHome]] из кода (См. ссылку 2) и [[Сценарии и проблемы>>doc:Разработка.NET.Работа с БД.EntityFramework | EntityFrameworkCore.Сценарии и проблемы.WebHome]] 6 -1. Проблема трансляции специфичных для БД функций для работы с примитивными типами. (Отчасти решается) 7 -1. Констатация факта: выполнение запроса с логикой на стороне БД (без загрузки данных в приложение) будет работать быстрее, но может быть не так удобно и требовать больше усилий со стороны разработки. 8 -1. Нет возможности выполнить запрос, возвращающий несколько таблиц в качестве результатов. ([[Ado.Net>>Разработка.NET.Работа с БД.Группа\. Провайдеры\..Ado\.Net.WebHome]] позволяет смаппить в DataSet). 9 9 10 ----- 2 +1) В некоторых ситуация плохая генерация sql запросов. Решается написанием немного иного кода или ручным написанием запроса. (См. ссылку 1) 3 +2) Нет возможности сделать вложеннут транзакцию из кода 4 +3) Из коробки нет возможности указать lock из кода (См. ссылку 2) 11 11 12 -**Ссылки:** 13 13 14 -DotNetRu | Алексей Капустяненко «Почему же мой запрос на Entity Framework 6 тормозит? Часть 9000» 15 -https:// www.youtube.com/watch?v=IQjFIvkuFhM7 +[[youtube | DotNetRu | Алексей Капустяненко «Почему же мой запрос на Entity Framework 6 тормозит? Часть 9000»>>https://www.youtube.com/watch?v=IQjFIvkuFhM]]^^1^^ 8 +[[Habr | Расширения Entity Framework 6, о которых вы могли и не знать>>https://habr.com/ru/post/320128/]]^^2^^ 16 16 17 -Подводные камни Entity Framework и производительность 18 -https://habr.com/ru/post/269901 19 - 20 -Расширения Entity Framework 6, о которых вы могли и не знать 21 -https://habr.com/ru/post/320128/ 22 - 23 - 24 -Update Data in Disconnected Scenario in Entity Framework Core 25 -https://www.entityframeworktutorial.net/efcore/update-data-in-entity-framework-core.aspx 26 - 27 -how to update entity without first loading it 28 -https://entityframeworkcore.com/knowledge-base/56722199/how-to-update-entity-without-first-loading-it 29 - 30 -How to batch delete or update in Entity Framework Core 5 31 -https://www.reddit.com/r/dotnetcore/comments/k1esra/how_to_batch_delete_or_update_in_entity_framework/