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");
И.. та же ошибка. Кто-нибудь сталкивался с этим раньше? Сейчас я возвращаюсь к своему столбцу строки произвольной длины - по крайней мере, это работает!