Entity Framework Core 尝试更新模型中标记为 Identity 的列

我有一个数据库表,其中一列是一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。为什么数据注释被忽略的任何想法?


红颜莎娜
浏览 130回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP