Я начинаю с ядра 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;
не работает, поскольку он не может работать с ненулевыми столбцами.
Кто-нибудь знает, как отключить запрос ЗНАЧЕНИЯ ПО УМОЛЧАНИЮ? или любая другая идея, чтобы иметь возможность создавать эти сущности?
Большое спасибо :-)