Entity Framework Core с существующей ошибкой CosmosDB 404 - PullRequest
0 голосов
/ 11 января 2019
public class dbcontext:DbContext
{
    public DbSet<entity1> entities1 { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseCosmos(
          "https://localhost:8081",
          "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==",
          "myDocuments");
    }

    public class entity1
    {
        [Key]
        public string id { get; set; }

        public string name { get; set; }
    }

  }

Ошибка ниже при попытке создать документ. с использованием Microsoft.EntityFrameworkCore.Cosmos Preview3 и эмулятора космоса

enter image description here

1 Ответ

0 голосов
/ 13 января 2019

Я думаю, что причиной этого является предварительный просмотр поставщика Cosmos DB. У меня была такая же проблема. Я предварительно создал свою коллекцию, используя эмулятор хранилища, который требует от вас определения ключа раздела. Обратите внимание, что понятие «ключ раздела» отсутствует в провайдере предварительного просмотра Cosmos. Это огромная проблема для Cosmos DB. Однако эмулятор выглядит достаточно устойчивым.

Если вы делаете так, как предлагает Ник Чапсас, и делаете вызов context.Database.EnsureCreated, вы должны увидеть, что в эмуляторе была создана новая коллекция. Если вы посмотрите на Scale & Settings новой коллекции, вы не найдете ключа раздела. Ключ раздела - это обязательное поле при создании новой коллекции. Поставщик предварительного просмотра создает недопустимые коллекции. Эмулятор вроде бы в порядке, но Azure Cosmos DB - нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...