pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

LINQ to SQL 和并發問題

LINQ to SQL and Concurrency Issues(LINQ to SQL 和并發問題)
本文介紹了LINQ to SQL 和并發問題的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我們正在嘗試構建大批量訂單記錄系統.共有三個主要表:1. 訂單2. 訂單詳情3. 訂單發貨

We are trying to build a High-Volume Orders Record System. There are three primary tables: 1. Orders 2. OrderDetails 3. OrderShipment

發貨表包含每個訂單的 n 條記錄,任何記錄發貨條目都可以在客戶接受訂單之前更改,之后訂單將被凍結.(業務需求)

The Shipment table contains n record per order and any record shipment entry can be changed before the Customer accepts th order, after which it is frozen. (A business requirement)

雖然這在現實世界中可能不會發生......在我們的負載測試期間,我們收到 System.Data.Linq.ChangeConflictException 異常.在事務中完成提交也無濟于事.我們不能強制 LINQ 在更新操作的整個持續時間內鎖定該行嗎?

Although this may not happen in real world scenarios... during our load tests, we are getting System.Data.Linq.ChangeConflictException exceptions. Wrapping up the submit inside a transacion is not helping either. Can't we force LINQ to get a lock on the row for the entire duration of the update operation?

有沒有其他方法可以解決這個問題?

Is there any other way to get over this?

推薦答案

如果您對同一數據的并發更新有真正的問題,那么您可以考慮在事務中執行整個操作 - 即獲取數據 提交它.只要您將 get/update/commit 視為短期的原子操作(即您不會在中間暫停用戶輸入),它應該沒問題.

If you are having genuine issues with concurrent updates on the same data, then you might consider performing the entire operation in a transaction - i.e. getting the data and committing it. As long as you treat the get/update/commit as a short-lived, atomic operation (i.e. you don't pause for user-input in the middle) it should be OK.

特別是,使用可序列化的隔離級別,沒有人可以更新您擁有讀鎖的數據(即您查詢的任何內容).唯一的問題是,如果不同的查詢以不同的順序讀取數據,這可能會導致死鎖場景.AFAIK,沒有辦法讓 LINQ-to-SQL 發出 (UPDLOCK) 提示,這是一種恥辱.

In particular, with a serializable isolation level, nobody can update data that you have a read lock on (i.e. anything you have queried). The only problem is that this might lead to deadlock scenarios if different queries are reading data in different orders. AFAIK, there is no way to get LINQ-to-SQL to issue the (UPDLOCK) hint, which is a shame.

TransactionScope 或 SqlTransaction 都可以,只要它們被設置為可序列化隔離(這是 TransactionScope 的默認設置).

Either a TransactionScope or a SqlTransaction would do, as long as they are set as serializable isolation (which is the default for TransactionScope).

這篇關于LINQ to SQL 和并發問題的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Yield return from a try/catch block(try/catch 塊的收益回報)
Should I call Parameters.Clear when reusing a SqlCommand with a transation?(重用帶有事務的 SqlCommand 時,我應該調用 Parameters.Clear 嗎?)
what does a using statement without variable do when disposing?(處理時不帶變量的 using 語句有什么作用?)
Why doesn#39;t TransactionScope work with Entity Framework?(為什么 TransactionScope 不適用于實體框架?)
How to dispose TransactionScope in cancelable async/await?(如何在可取消的 async/await 中處理 TransactionScope?)
C#/SQL Database listener(C#/SQL 數據庫偵聽器)
主站蜘蛛池模板: 福建珂朗雅装饰材料有限公司「官方网站」 | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | pos机办理,智能/扫码/二维码/微信支付宝pos机-北京万汇通宝商贸有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 | 真空冷冻干燥机_国产冻干机_冷冻干燥机_北京四环冻干 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 经济师考试_2025中级经济师报名时间_报名入口_考试时间_华课网校经济师培训网站 | 酒店品牌设计-酒店vi设计-酒店标识设计【国际级】VI策划公司 | 数显恒温培养摇床-卧式/台式恒温培养摇床|朗越仪器 | 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 汕头市盛大文化传播有限公司,www.11400.cc | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 微动开关厂家-东莞市德沃电子科技有限公司 | 高效复合碳源-多核碳源生产厂家-污水处理反硝化菌种一长隆科技库巴鲁 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 重庆轻质隔墙板-重庆安吉升科技有限公司 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 模具硅橡胶,人体硅胶,移印硅胶浆厂家-宏图硅胶科技 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 宏源科技-房地产售楼系统|线上开盘系统|售楼管理系统|线上开盘软件 | 苏商学院官网 - 江苏地区唯一一家企业家自办的前瞻型、实操型商学院 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-沼河浸过滤器 | 合肥礼品公司-合肥礼品定制-商务礼品定制公司-安徽柏榽商贸有限公司 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | 水质传感器_水质监测站_雨量监测站_水文监测站-山东水境传感科技有限公司 | 脱硝喷枪-氨水喷枪-尿素喷枪-河北思凯淋环保科技有限公司 | 医学动画公司-制作3d医学动画视频-医疗医学演示动画制作-医学三维动画制作公司 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 国标白水泥,高标号白水泥,白水泥厂家-淄博华雪建材有限公司 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 |