Я пытаюсь использовать новый пакет EntityFrameworkCore.Cosmos Preview 3 на веб-сайте ASP.NET Core, но я продолжаю получать сообщение об ошибке при попытке создать базу данных. Я не могу найти какую-либо документацию, чтобы дать мне представление о том, что является причиной ошибки.
В моем файле Startup.cs в методе ConfigureServices у меня есть следующий код:
// Configure EntityFramework - CosmosDB
services.AddDbContext<EFContext>(options => options.UseCosmos(
authKeyOrResourceToken: ServiceFactory.GetDbKeySecret(_config, (_hosting.EnvironmentName != "LocalDev")),
serviceEndPoint: _config.GetValue<string>("CosmosDb:Endpoint"),
databaseName: _config.GetValue<string>("CosmosDb:DatabaseID")
));
EFContext efc = services.BuildServiceProvider().GetRequiredService<EFContext>();
efc.Database.EnsureCreatedAsync().Wait();
Когда доходит до последней строки, я получаю следующую ошибку (трассировка стека):
at Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal.CosmosClient.CreateDatabaseIfNotExistsOnceAsync(DbContext _, Object __, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy.ExecuteImplementationAsync[TState,TResult](Func`4 operation, Func`4 verifySucceeded, TState state, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy.ExecuteImplementationAsync[TState,TResult](Func`4 operation, Func`4 verifySucceeded, TState state, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal.CosmosDatabaseCreator.EnsureCreatedAsync(CancellationToken cancellationToken)
А с Fiddler подробный ответ: "{" code ":" NotFound "," message ":" Объект с указанным идентификатором не существует в системе. \ R \ nActivityId: 6aed2df0-abe8-4e93-b468 -b3188005fcb5, Microsoft.Azure.Documents.Common / 2.1.0.0 "}"
Я проверил и дважды проверил, что все значения в моей конфигурации верны и соответствуют моей учетной записи CosmosDB в Azure, но я до сих пор не могу понять, что является причиной этой ошибки.
Кто-нибудь сталкивался с этим и нашел решение?
Спасибо