https://docs.microsoft.com/zh-cn/dotnet/framework/data/adonet/optimistic-concurrency

在多用户环境中,有两种用于更新数据库中数据的模型:开放式并发和保守式并发。 设计 DataSet对象的目的是为了促进将开放式并发用于长时间运行的活动,例如对数据进行远程处理以及与数据进行交互时。

保守式并发涉及到锁定数据源中的行,以防止其他用户因修改数据而影响当前用户。 在保守式模型中,当用户执行会应用锁的操作时,其他用户将无法执行可能与锁发生冲突的操作,直到锁所有者释放锁为止。 此模型主要用于以下环境:对数据存在激烈争用,使得用锁保护数据的成本少于在发生并发冲突时回滚事务的成本。

因此,在保守式并发模型中,更新行的用户将会建立锁。 在该用户完成更新并释放锁之前,其他任何用户都无法更改锁定行。 因此,如果锁定时间将会比较短(例如在以编程方式处理记录时),最好实现保守式并发。 如果用户与数据进行交互,会使记录锁定相对长的时间,保守式并发并不是可伸缩的选项。

ADO.net开放式并发的更多相关文章

  1. EF中的开放式并发(EF基础系列--28)

    好久没更新EF这个系列了,现在又重新开始. 这次学习,开放式并发.首先拿出数据库脚本: 说明一下,这个数据库脚本是之前的章节中稍作修改的: USE [SchoolDB] GO /****** Obje ...

  2. C# 开放式并发冲突报错处理

    1.调用DataSet.GetChanges()获取数据源中改变的数据 var data = ViewData.GetChanges() as ReleaseData; 2.为新增的数据 data 加 ...

  3. ADO.NET 中的数据并发

    当多个用户试图同时修改数据时,需要建立控制机制来防止一个用户的修改对同时操作的其他用户所作的修改产生不利的影响.处理这种情况的系统叫做“并发控制”.并发控制的类型通常,管理数据库中的并发有三种常见的方 ...

  4. ADO.NET Entity Framework学习笔记(3)ObjectContext

    ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]   说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...

  5. LINQ to SQL语句(13)之开放式并发控制和事务

    Simultaneous Changes开放式并发控制 下表介绍 LINQ to SQL 文档中涉及开放式并发的术语: 术语 说明 并发 两个或更多用户同时尝试更新同一数据库行的情形. 并发冲突 两个 ...

  6. EntityFramework_MVC4中EF5 新手入门教程之七 ---7.通过 Entity Framework 处理并发

    在以前的两个教程你对关联数据进行了操作.本教程展示如何处理并发性.您将创建工作与各Department实体的 web 页和页,编辑和删除Department实体将处理并发错误.下面的插图显示索引和删除 ...

  7. [翻译][MVC 5 + EF 6] 10:处理并发

    原文:Handling Concurrency with the Entity Framework 6 in an ASP.NET MVC 5 Application 1.并发冲突: 当一个用户编辑一 ...

  8. Entity Framework 处理并发

    Entity Framework 处理并发 在以前的两个教程你对关联数据进行了操作.本教程展示如何处理并发性.您将创建工作与各Department实体的 web 页和页,编辑和删除Department ...

  9. Linq无聊练习系列8---开放式并发事务,null和 DateTime,string操作练习

    /*********************开放式并发事务,null和 DateTime,string操作练习**********************************/ //所谓并发,就是 ...

随机推荐

  1. vs2013突然没有代码提示功能了。

    工具->选项->文本编辑器->C++ ->高级->禁用IntelliSense设置 false 然后选确定.

  2. ffmpeg C++程序编译时报__cxa_end_catch错误

    解决方法在编译sh中加上 -lsupc++ 即可. 2.STL模块函数找不到,链接失败stdc++/include/bits/stl_list.h:466: error: undefined refe ...

  3. c# 爬虫(三) 文件上传

    在上一篇中,我们说了模拟登录, 下面我们说说附件上传. 据说,最早的http协议是不支持附件上传的,后来有添加了一个RFC 2045 协议,才支持附件上传,关于附件上传,请参见 http://www. ...

  4. VMware ESX常用命令 和 IP 地址修改

    一. VMware ESX Command 1. 看你的esx版本 vmware –v 2. 查看显示ESX硬件,内核,存储,网络等信息 esxcfg-info -a(显示所有相关的信息) esxcf ...

  5. 转转转-精通js正则表达式

    原文地址:http://www.cnblogs.com/aaronjs/archive/2012/06/30/2570970.html 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字 ...

  6. 汇编_指令_FLAGS

    标志名                                       标志 1           标志 0 OF   (溢出标志)                     OV     ...

  7. np的归纳总结

    1. np.sqrt(input)    # 求数的开方 import numpy as np print(np.sqrt(2)) 2. np.square(3)   # 求数的平方 import n ...

  8. nodepad++快捷键

    在用notepad++进行代码编辑的过程中,其实notepad++也可以进行单行.多行.区块注释和取消注释的....... 快捷键如下: 单行.多行注释              //方式       ...

  9. js常用代码整理

    引用js <script type="text/javascript" src="js/jquery-1.11.2.min.js"></scr ...

  10. 编程语言分类和Python解释器介绍

    主要内容: 一.编程语言分类和介绍 二.Python解释器分类和介绍 一.编程语言分类和介绍 1.编程语言分类 编程语言的发展依次经历了机器语言.汇编语言和高级语言. 2.编程语言的介绍   2.1 ...