Json ColumnType SystemInvalidOperationException

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

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

    [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");

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

0 ответов

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