Я создаю простой WebAPI и хочу использовать трехуровневую архитектуру.
DAL -> Услуги -> API
DAL - контекст БД, сущности
Услуги - репозитории, сервисы и бизнес-логика
API - API.Net Core 2 WebAPI
мой вопрос: как мне зарегистрировать контекст БД в моем инжекторе зависимостей?
У меня есть эта строка кода в startup.cs
var connectionString = Configuration["connectionStrings:libraryDBConnectionString"];
services.AddDbContext<LibraryContext>(o => o.UseSqlServer(connectionString));
но LibraryContext помещается в проект DAL, поэтому я должен ссылаться на проект DAL в свой проект API.
Это правильная реализация или я должен использовать проект интерфейса с ILibraryContext?
См. Ioc / DI - Почему я должен ссылаться на все слои / сборки во входном приложении?





Классический вопрос, связанный с DI. Все проекты должны быть привязаны к корню композиции входного проекта, то есть к api. Вы должны связать весь проект с веб-проектом и привязать их туда. Вот ответ, который объясняет, почему stackoverflow.com/questions/40401900/…