首页 > 解决方案 > 使用 EF Core 在 SQL Server 中处理乐观并发 - 更新子级时,如何更新父级?

问题描述

我有两个实体,paper一个是paper line.

我使用 SQL Server 来存储实体记录,每个实体由数据库中的一个表表示

PaperEntity包含列

Id, Color, TimeStamp (RowVersion), etc...

PaperLineEntity包含列

Id, PaperId(FK), lineContent, TimeStamp (RowVersion), etc...

我正在考虑如何防止两个用户在同一张纸上更新两条不同的行,我的想法是当您更新该行时,您必须更新该行所属的纸质记录的时间戳,关于如何我在 EF Core 中管理它?

标签: c#sql-server.net-coreconcurrencyef-core-3.1

解决方案


获取 Paper 行时,也获取 TimeStamp(RowVersion),当用户保存行时,首先比较时间戳是否不同,否则返回错误,否则相同,然后允许更新


推荐阅读