Any Optimistic Concurrency Control support (MS SQL Server)?
还没有人认领这个 Issue。
评估
调研方向
从 SQLProvider 在 MSSQL 中的 SubmitUpdates() 行为入手,使用 TIMESTAMP 列复现所描述的双会话更新。当并发更新导致运行时错误且数据库保持不变时,即视为完成;该 issue 未指定具体的源文件或测试。
由索引模型根据 Issue 内容生成。
描述
Description
I'm looking for a way to add Optimistic Concurrency Control in SQLProvider, based on TIMESTAMP columns (MSSQL). Similar to how it is done in Entity Framework.
Is there anything built-in? If not then a workaround or an extension?
Repro steps
-
Create context, read a record from a table with TIMESTAMP column.
-
Update some property of the record.
-
Hit the breakpoint to make debugger stop just before ctx.SubmitUpdates(). Run the code in debugger.
-
Concurrently update the record in MS SQL server (e.g. via SQL Management Studio) so record read in Step 1 becomes obsolete
-
Resume debugger and execute ctx.SubmitUpdates()
Expected behavior
A runtime error saying that record was updated concurrently, no changes in database.
Actual behavior
SubmitUpdates() writes changes to database, regardless whether timestamp is obsolete or not.
Known workarounds
Don't know any out of the box. A stored procedure can be written instead which is tedious.
Related information
- Used database: MSSQLSERVER
- Operating system: Windows 10
- .NET Core 2.1
- 主要语言
- F#
- 星标
- 627
- 派生
- 147
- 平均合并
- 2 小时 2 分钟
- 30 天内合并 PR
- 1
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
fsprojects/SQLProvider 的其他 Issue
-
enhancement
难度 3/5 1-2 天 新手友好度 55/100
fsprojects/SQLProvider#872 · 2 条评论 ·
-
Repo Assist? 未关闭enhancement
难度 5/5 一周以上 新手友好度 10/100
fsprojects/SQLProvider#870 · 1 条评论 ·
-
postgresql
难度 4/5 3-5 天 新手友好度 58/100
fsprojects/SQLProvider#869 · 2 条评论 ·
-
documentation
难度 2/5 1-3 小时 新手友好度 42/100
fsprojects/SQLProvider#868 · 2 条评论 ·
-
sql server
难度 4/5 3-5 天 新手友好度 45/100
fsprojects/SQLProvider#851 · 1 条评论 ·
查看 fsprojects/SQLProvider 的全部 Issue
相似的 Issue
-
channels:add check:passed
难度 1/5 1 小时以内 新手友好度 90/100
-
难度 2/5 1-3 小时 新手友好度 70/100
confluentinc/dbt-confluent#160 ·
-
难度 1/5 1 小时以内 新手友好度 75/100
-
bug
难度 2/5 1-3 小时 新手友好度 88/100
AstrBotDevs/AstrBot#10205 ·
-
难度 2/5 1-3 小时 新手友好度 72/100