【发布时间】:2018-07-23 10:07:13
【问题描述】:
我有一个数据库表,其中一列是IDENTITY 列(不是手动设置的主键)。我的 EF Core 模型如下所示:
public class Model
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Id { get; set; }
...Other fields...
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int AnotherId { get; set; }
}
尽管有注释,但当我对表进行更新时,我发现生成的 SQL 会尝试更新 IDENTITY 列:
UPDATE [Model] SET ... [AnotherId] = @p10 ...
WHERE [Id] = @p29;
SELECT @@ROWCOUNT;
这显然失败了,导致抛出异常。我正在使用 Entity Core 2.0,目前不能升级到 2.1。任何想法为什么忽略数据注释?
【问题讨论】:
标签: c# sql-server entity-framework ef-core-2.0 identity-column