В настоящее время я пытаюсь использовать dbcontext EF Core с dos cosmos в .NET Core 2.2.Мой стартовый cs имеет настройку вставки контекста БД, например:
var configBuilder= new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json");
IConfigurationRoot config = configBuilder.Build();
IConfigurationSection configSection = config.GetSection("CosmosSettings");
services.AddDbContext<PiServeDb>(options => options.UseCosmosSql(
configSection["ServiceEndpoint"], configSection["AuthKey"], configSection["DatabaseName"]
));
С помощью конфигурации cosmosdb в файле appsettings.json
.
DbContext
настроен на DbContextOptions
вот так:
public class PiServeDb : DbContext
{
public PiServeDb(DbContextOptions<PiServeDb> options)
: base(options){ }
public DbSet<Device> Devices { get; set; }
}
и при попытке запустить первоначальную миграцию для обновления базы данных я получаю эту ошибку последовательно:
Невозможно разрешить службу для типа 'Microsoft.EntityFrameworkCore.Migrations.IMigrator.Это часто потому, что ни один поставщик базы данных не был настроен для этого DbContext.Поставщик может быть настроен путем переопределения метода DbContext.OnConfiguring или с помощью AddDbContext в поставщике службы приложений.Если используется AddDbContext, то также убедитесь, что ваш тип DbContext принимает объект DbContextOptions в своем конструкторе и передает его базовому конструктору для DbContext.
Я настроил класс для принятия этого в конструкторе, поэтомуЯ понятия не имею, что я сделал неправильно.Что-то не так с моей настройкой?