EF Core - Primary Identity - столбец ошибок не допускает значений NULL

Я начинаю с ядра EF на SQL Server 2014 и борюсь с вариантом использования.

В основном у меня есть база данных, уже созданная с этой таблицей

create TABLE audit_logs(
    [id] [int] IDENTITY(1,1) NOT NULL,PRIMARY KEY (id),
    namespace varchar(255) NOT NULL
)

И моя сущность

public class AuditLog : AbstractEntity
{
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }

        [Column("namespace")]
        public string Namespace;
}

когда я сохраняю новую сущность, у меня появляется пространство имен ошибок: столбец не допускает NULL

и из профилировщика SQL-сервера я вижу запрос

SET NOCOUNT ON;
INSERT INTO [audit_logs]
DEFAULT VALUES;
SELECT [Id]
FROM [audit_logs]
WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity();

куда

INSERT INTO [audit_logs]
DEFAULT VALUES;

не работает, поскольку он не может работать с ненулевыми столбцами.

Кто-нибудь знает, как отключить запрос ЗНАЧЕНИЯ ПО УМОЛЧАНИЮ? или любая другая идея, чтобы иметь возможность создавать эти сущности?

Большое спасибо :-)


person lunarnet76    schedule 01.07.2020    source источник


Ответы (1)


решил это, на самом деле это не имело ничего общего с моим NOT NULL. Мне не хватало аксессуаров к полям, и поэтому ядро ​​ef творило магию вуду

обновлено до

public class AuditLog : AbstractEntity
{
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }

        [Column("namespace")]
        public string Namespace { get; set; }
}
person lunarnet76    schedule 01.07.2020