【发布时间】:2021-04-18 06:24:34
【问题描述】:
我有一个带有 Guid 主键的模型。我希望数据库在插入时生成一个密钥,所以我添加了以下注释:
public class Employee
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid employee_id { get; set; }
[Required]
public int employee_number { get; set; }
//more props...
}
现在我预计使用 RawSQL 的插入不会期望主键,但是通过 ExecuteSqlRaw 执行以下语句时不起作用:
INSERT INTO employees (employee_number/**, more props*/)
VALUES (123 /**,more props*/)
关于不可空主键的数据库导致错误。显式插入一些随机的 Guid 作品,但我认为数据库会处理这个问题。
Identity注解错了吗?
【问题讨论】:
标签: sql sql-server asp.net-core entity-framework-core