Обновить
1
0
Никита Фурса@UnderNickOfficial

Backend разработчик на языке программирования C#

Отправить сообщение

Проблема именно в том, что все эти 50 запросов будут выполнены одновременно, из разных потоков и в одном контексте. А так как DbContext не является thread-safe, то есть не позволяет двум потокам одновременно с ним работать, возникает первая ошибка.

Это верно, но эта статья создана для тех, кто видит такое исключение впервые и именно на Blazor, так как например при создании API-сервера такие ошибки почти не возникают.

Решение с одним контекстом не всегда можно использовать. Особенно если у вас большой проект и вам нужно разделить страницу на множество компонентов, для которых нужны свои данные из БД. Вытягивать все данные в родительском компоненте и после передавать их в качестве параметра - не всегда удобно. Например, если у вас вложенная структура и нужно передать данные 4-му дочернему компоненту. По поводу .AsNoTracking() - он выполняет тот же функционал, что и удаление контекста.

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Фулстек разработчик
Младший
От 2 000 $
HTML
CSS
.NET Core
Entity framework
Blazor
ASP.NET
ASP.NET WEB API
SQL
C#
Разработка программного обеспечения