背景: 我正在开发一个使用 EF 6.0 作为数据访问的 ASP.Net Web 表单应用程序。我 3 层.. 网站--> 业务--> 数据访问(此处为 EF 和 EDMX).. 我想在我的代码中处理数据库并发。
我的示例表看起来像, Table :EmployeeMaster Columns : EmpID, EMpName, Address, UpdatedBy, UpdatedOn (DataTime)
我尝试按照一些博客中的说明实现乐观并发,方法是在 DB 中使用数据类型为“timestamp”的列“ConcurrencyCheck”并将模型中的并发模式设置为“Fixed”。它运作良好。但是,我觉得在我的几乎所有表格中增加一列(我有大约 50 个表格)会有点奇怪。
问题: 有没有办法可以使用现有列进行并发检查并实现乐观并发?
我尝试将我的现有列“UpdatedOn”(日期时间列,不可为空)设置为“固定”并发模式。正在进行并发检查。但是,当我进行更新时,我无法将最新时间更新到该字段中,因为它具有用于执行并发检查的 previos 时间戳。
注意:我知道 EF 会将我标记为并发模式“固定”的列添加到其 where 子句并达到预期的结果。每次我们调用方法时,我都会创建数据库上下文。