Как правильно сделать отображение POCO в EFCore? - PullRequest
0 голосов
/ 01 октября 2019

В соответствии с официальной документацией ...


Модель DB, которая включает JSONB:

    [Table("h_target_table")]
    public class TargetTableHistory
    {
        [Key]
        [Column("id")]
        public int Id { get; set; }

        [Column("content", TypeName = "jsonb")]
        public TargetTable Content { get; set; }
    }

Модель DB, которая описывает стабильную схему TargetTableHistory.Content

    [Table("target_table")]
    public class TargetTable
    {
        [Key]
        [Column("id")]
        public int Id { get; set; }

        // Omitting 
    }

Итак, когда я попытаюсь использовать модели БД, описанные выше, произойдет следующее

// context is DBContext instance
// TargetTableHistories is DBSet<TargetTable> instance
List<TargetTable> objectList = context.TargetTableHistories.Select(e => e.Content).ToList();

Npgsql.PostgresException. Сообщение об исключении:

42703: 列Extent1.Content_Idは存在しません

column Столбец Extent1.Content_Id не существует


Что я делаю не так? У кого-нибудь была похожая проблема?

...