Information
- Rating
- Does not participate
- Location
- Киев, Киевская обл., Украина
- Date of birth
- Registered
- Activity
Specialization
Backend Developer, Fullstack Developer
Junior
From 2,000 $
HTML
CSS
.NET Core
Entity Framework
Blazer
ASP.Net
ASP.NET Web API
SQL
C#
Software development
Проблема именно в том, что все эти 50 запросов будут выполнены одновременно, из разных потоков и в одном контексте. А так как DbContext не является thread-safe, то есть не позволяет двум потокам одновременно с ним работать, возникает первая ошибка.
Это верно, но эта статья создана для тех, кто видит такое исключение впервые и именно на Blazor, так как например при создании API-сервера такие ошибки почти не возникают.
Решение с одним контекстом не всегда можно использовать. Особенно если у вас большой проект и вам нужно разделить страницу на множество компонентов, для которых нужны свои данные из БД. Вытягивать все данные в родительском компоненте и после передавать их в качестве параметра - не всегда удобно. Например, если у вас вложенная структура и нужно передать данные 4-му дочернему компоненту. По поводу .AsNoTracking() - он выполняет тот же функционал, что и удаление контекста.