【发布时间】:2022-09-23 07:15:36
【问题描述】:
我有一个问题我还没有解决。
我在 SQL 中的主键是标识增量 = 否,我想使用 ICollection 导航属性更新一个实体(一行是新的,一行是更改的。添加和更新都在客户端完成并发送到服务器一起)。
当我调用DbSet.Update(entity) 时,我必须在服务器端生成主键(因为身份增量为 NO),我得到了这个异常:
Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException:\'数据库操作预计会影响 1 行,但实际上影响了 0 行。自加载实体以来,数据可能已被修改或删除。有关理解和处理乐观并发异常的信息,请参阅http://go.microsoft.com/fwlink/?LinkId=527962。
我想我收到此错误是因为我使用
DbSet.Update(entity)并希望添加具有填充 ID 的新行,但在 SQL 中我将标识增量设置为 NO。 我不想改变身份增量,我必须使用DbSet.Update(entity)方法。我该如何解决我的问题?
谢谢
标签: c# sql entity-framework-core