powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Контекст базы данных. Как правильно использовать
10 сообщений из 10, страница 1 из 1
Контекст базы данных. Как правильно использовать
    #39718633
Homosum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Есть концептуальный вопрос связанный с не до конца понятным механизмом работы с контекстом базы данных в приложении ASP.NET Core.
В частности в API.

Есть понимание, что контекст нужно регистрировать в Startup->ConfigureServices через services.AddDbContext
Далее его можно использовать в контроллере.

Но вот нет понимания того как же он работает. Это один экземпляр контекста базы данных? Или при каждом вызове API создается новый? Если один, то возможны конфликты. Если при каждом вызове создается новый, то сколько же их может создаваться?

Кроме этого я бизнес логику вынес в классы репозитарии. Как в них правильно передавать контекст или же использовать контекст базы данных?
...
Рейтинг: 0 / 0
Контекст базы данных. Как правильно использовать
    #39718644
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На каждый вызов свой контекст. Создается столько, столько запросов.

Конфликты решаются EF в ASP так же, как и в любой другой многопользовательской среде

Ничего не надо передавать, используйте встроенное внедрение зависимостей
...
Рейтинг: 0 / 0
Контекст базы данных. Как правильно использовать
    #39718645
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Homosum,

ну что мещает тебе глянуть сорсы? все сразу понятно
https://github.com/aspnet/EntityFrameworkCore/blob/9186d0b78a3176587eeb0f557c331f635760fe92/src/Microsoft.EntityFrameworkCore/EntityFrameworkServiceCollectionExtensions.cs#L140

если ты используешь уже DI для регистрации контекста, так инжектируй в репозитории его
...
Рейтинг: 0 / 0
Контекст базы данных. Как правильно использовать
    #39718669
Homosum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет посмотреть исходниках - благодарю за наводку.
Может быть подскажете как правильно регистрировать контекст базы данных в репозитарии?

handmadeFromRuHomosum,

ну что мещает тебе глянуть сорсы? все сразу понятно
https://github.com/aspnet/EntityFrameworkCore/blob/9186d0b78a3176587eeb0f557c331f635760fe92/src/Microsoft.EntityFrameworkCore/EntityFrameworkServiceCollectionExtensions.cs#L140

если ты используешь уже DI для регистрации контекста, так инжектируй в репозитории его
...
Рейтинг: 0 / 0
Контекст базы данных. Как правильно использовать
    #39718688
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HomosumКроме этого я бизнес логику вынес в классы репозитарии.зачем?
Лишнее?
...
Рейтинг: 0 / 0
Контекст базы данных. Как правильно использовать
    #39718689
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HomosumМожет быть подскажете как правильно регистрировать контекст базы данных в репозитарии? https://docs.microsoft.com/ru-ru/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.0
...
Рейтинг: 0 / 0
Контекст базы данных. Как правильно использовать
    #39718701
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Homosum,
EF Core инжекция из коробки.
Получаем контекст в контроллере.
Всё.
...
Рейтинг: 0 / 0
Контекст базы данных. Как правильно использовать
    #39718706
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Получаем контекст в контроллере.не нужен контекст в контроллере. В контроллере получаем сервис (ну или репозитарий, как у ТС), а его зависимости (от контекста в частности) - это проблема инжектора
...
Рейтинг: 0 / 0
Контекст базы данных. Как правильно использовать
    #39718707
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HomosumЕсли один, то возможны конфликты.один на запрос.
Проверяй.
В конце запроса скидывай в базу.
...
Рейтинг: 0 / 0
Контекст базы данных. Как правильно использовать
    #39718709
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProPetro123Получаем контекст в контроллере.не нужен контекст в контроллере. В контроллере получаем сервис (ну или репозитарий, как у ТС), а его зависимости (от контекста в частности) - это проблема инжекторатогда лучше слово сервис а не репо.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Контекст базы данных. Как правильно использовать
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]