Українська
Типові помилки
Типові помилки
Поширені помилки під час роботи з EF Core наведено в табл. 8.3.
Таблиця 8.3. Типові помилки під час роботи з EF Core
| Проблема | Причина | Виправлення |
|---|---|---|
| зміни не з’являються в базі | забуто SaveChangesAsync | зберігати після змін; перевіряти результат |
Npgsql…: Failed to connect to 127.0.0.1:5432 | сервер не запущено, неправильний порт або рядок з’єднання | запустити службу PostgreSQL; перевірити секрети |
relation "Products" does not exist | міграцію не застосовано | dotnet ef database update |
| повільна програма, сотні запитів у журналі | N+1 запитів: звернення до зв’язку в циклі | Include або проєкція Select |
| з бази читається вся таблиця | ToList()/AsEnumerable() перед Where | фільтрувати в IQueryable до ToListAsync |
could not be translated | власний метод C# в умові запиту | переписати умову або обчислити на клієнті після фільтрації |
виняток для DateTime у timestamp with time zone | DateTime.Now має Kind = Local | DateTime.UtcNow |
A second operation was started on this context | спільний контекст для паралельних операцій | окремий контекст або фабрика |
| цикл під час серіалізації в JSON | навігації Author.Posts і Post.Author посилаються одна на одну | серіалізувати DTO-проєкцію |
| міграція видаляє стовпець з даними | властивість перейменовано | переглянути міграцію, замінити на RenameColumn |