Исключение типа столбца Json SystemInvalidOperationException

#npgsql

#npgsql

Вопрос:

Я использую npgql v3.1.8 и EntityFramework6.Npgsql v3.1.1, используя код первого создания базы данных.

Я хотел бы сохранить определенные пользовательские настройки в столбце, используя поле postgres json. Итак, первым шагом является создание простой модели с типом столбца в виде текста для начала.

     [StringLength(1000)]
    public string Settings { get; set; }
  

Это работает и позволяет сохранять json в столбце — отлично, но не использует тип столбца json postgres. Теперь я удаляю базу данных, чтобы ее можно было воссоздать заново, и меняю модель на:

     [Column(TypeName = "json")] 
    public string Settings { get; set; }
  

Поскольку это единственное изменение, в мире все должно быть хорошо. Но, увы, во время создания модели возникает ошибка (и, следовательно, база данных никогда не создается). Ошибка заключается в:

    System.InvalidOperatiopnException: Sequence contains no matching elements
  

Хм, хорошо, давайте попробуем другой метод. Удалите атрибут и добавьте приведенный ниже в DbContext переопределение OnModelCreating:

 modelBuilder.Entity<Equipment>().Property(p => p.Settings).HasColumnType("json");
  

И.. Та же ошибка. Кто-нибудь сталкивался с этим раньше? Сейчас я возвращаюсь к своему столбцу строк произвольной длины — по крайней мере, это работает!