Мое решение включает в себя:
- (ASP.NET Core Web API — содержит Program.cs)
Код: Выделить всё
Project.API - (Библиотека классов — содержит AppDbContext)
Код: Выделить всё
Project.DataAccess
Код: Выделить всё
AppDbContextКод: Выделить всё
DataAccessМоя AppContextFactory выглядит следующим образом:
Код: Выделить всё
public class AppContextFactory : IDesignTimeDbContextFactory
{
public AppDbContext CreateDbContext(string[] args)
{
var optionsBuilder = new DbContextOptionsBuilder();
optionsBuilder.UseSqlServer("Server=localhost\\SQLEXPRESS;Database=CreditApplicationDb;Trusted_Connection=True");
return new AppDbContext(optionsBuilder.Options);
}
}
Поскольку фабрика находится в Project.DataAccess, у нее нет доступа к appsettings.json, который находится в Project.API.
Хотя это работает, у меня есть несколько вопросов:
- Правильный ли это подход для многоуровневой архитектуры с использованием EF Core?
- Каков рекомендуемый способ безопасной загрузки строки подключения из файла конфигурации в этой настройке?
Подробнее здесь: https://stackoverflow.com/questions/797 ... ctory-work
Мобильная версия