Ядро Entity Framework с существующей ошибкой 404 CosmosDB

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 и эмулятора космоса

Ядро Entity Framework с существующей ошибкой 404 CosmosDB

Вы удостоверились, что базы данных созданы? Для этого вы можете использовать context.Database.EnsureCreated();.

Nick Chapsas 11.01.2019 17:48

Да, я это сделал, и он создает только новую коллекцию с именем dbcontext, но не будет отображаться в коллекции, которая у меня уже есть, которая является entity1

user3585193 14.01.2019 10:30
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
789
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

Я сделал context.Database.EnsureCreated (); вы правы, он создает новую коллекцию, вы говорите, что нет способа сопоставить существующую коллекцию с сущностью EF?

user3585193 14.01.2019 10:47

Нет, я не думаю, что у вас получится с текущим предварительным просмотром. Ключ раздела - это требование коллекций Cosmos DB, поэтому я не уверен, как поставщик EF создает коллекции без него, но это определенно так. Вы не можете создать коллекцию другим способом, не указав ключ раздела (который я нашел), и как только вы создадите коллекцию с ключом раздела, поставщик EF не распознает ваши коллекции. В основном превью сломано.

Dane Vinson 16.01.2019 18:25

Другие вопросы по теме