Как исправить 'Sequence не содержит подходящих элементов' при работе с типом данных json в postgresql - PullRequest
0 голосов
/ 07 июня 2019

Я использую проект ASP.NET C # с использованием EF и backend в качестве базы данных Postgresql.Для картирования используется Fluent Migrator.Все работает нормально, если я использую примитивные типы данных.Но проблема возникает, когда я пытаюсь получить или обновить данные из БД, имеющей столбцы json.

Моя таблица имеет тип столбца json (скажем, Payload как имя столбца).Я хочу вставить и получить данные полезной нагрузки.Я всегда получаю ошибку ниже от EF.

system.InvalidOperationException: 'Последовательность не содержит соответствующего элемента'

Пожалуйста, найдите мои настройки столбца и сопоставление.

Model.cs

public string Payload { get; set; }

DBModel.cs

public class MyClass
    {
        [Column("Payload", TypeName = "json")]
        public string Payload { get; set; }
    }

В моей базе данных есть столбец Payload с типом данных json.когда я пытаюсь получить данные из репозитория (БД), появляется ошибка ниже.

enter image description here

Я не мог понять, что еще мне нужно сделать, чтобы получить значение json из Db.Может ли кто-нибудь помочь мне в этом?

Обновление 1:

Класс репозитория (класс DB) для получения данных из Postgresql,

public MyClass Get(Guid id) =>
            _dbContext.MyData.FirstOrDefault(myData => myData.Id.Equals(id));

В этот момент выдается ошибка, как показано на скриншоте.

IDbContext.cs

IDbSet<MyClass> MyData { get; set; } 
...