EF 事物
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Common; namespace testEF事物
{
class Program
{
static void Main(string[] args)
{
Pengbg_DataEntities db = new Pengbg_DataEntities();
DbConnection con = ((IObjectContextAdapter)db).ObjectContext.Connection;
//DbConnection con = db.Database.Connection;我不明白这里为啥非要转换为ObjectContext
con.Open(); using (var tran = con.BeginTransaction())
{
//var r = tran.IsolationLevel;
// IsolationLevel 的默认值是: ReadCommitted = 4096 在正在读取数据时保持共享锁,以避免脏读,但是在事务结束之前可以更改数据,
//从而导致不可重复的读取或幻像数据。 try
{
db.Database.ExecuteSqlCommand(@"insert dbo.Sys_User VALUES ( N'1',N'2' ,'3' )");
db.Database.ExecuteSqlCommand(@"insert dbo.Sys_User VALUES ( N'1',N'2' ,'4' )");
db.Database.ExecuteSqlCommand(@"insert dbo.Sys_User VALUES ( N'1',N'2' )");
// 这里才是事务中的代码
tran.Commit();
}
catch (Exception ex)
{
tran.Rollback(); }
finally
{
db.Dispose();
con.Close();
}
}
con.Close();
}
}
}
DbContext 类继承了IObjectContextAdapter 接口,IObjectContextAdapter 接口 里面有一个只读的ObjectContext类对象。这里测试EF 是4.0 ,高版本也一样。6.0 引用 using System.Data.Entity.Core.Objects;
EF 事物的更多相关文章
- .net EF 事物 订单流水号的生成 (二):观察者模式、事物、EF
针对.net EF 事物 订单流水号的生成 (一) 的封装. 数据依然不变. using System; using System.Linq; using System.Transactions; ...
- EF 事物Transaction简单操作
/// <summary> /// 申请提现 /// </summary> /// <param name="userId">用户id</ ...
- 【netcore基础】ConcurrentDictionary 使用字符串作为key给代码加锁且使用EF事物防止并发调用数据混乱的问题
业务场景需要锁住指定的字符串下的代码,防止并发创建多个订单 这里我们使用 ConcurrentDictionary 首先初始化一个字典 private static readonly Concurre ...
- .net EF 事物 订单流水号的生成 (一)
首先需要 添加 System.Transactions 程序集 数据表: create table SalesOrder ( ID ,) primary key not null, OrderNo ) ...
- %E3%80%90%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E3%80%91
"%3Cdiv%20class%3D%22htmledit_views%22%20id%3D%22content_views%22%3E%0A%20%20%20%20%20%20%20%20 ...
- 坑到了,EF执行带事物的存储过程
用EF开发项目,今天调用 带事物 存储过程,始终报错,"EXECUTE 后的事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配.上一计数 = 1,当前计数 = 0.\r\nEXEC ...
- EF+LINQ事物处理 C# 使用NLog记录日志入门操作 ASP.NET MVC多语言 仿微软网站效果(转) 详解C#特性和反射(一) c# API接受图片文件以Base64格式上传图片 .NET读取json数据并绑定到对象
EF+LINQ事物处理 在使用EF的情况下,怎么进行事务的处理,来减少数据操作时的失误,比如重复插入数据等等这些问题,这都是经常会遇到的一些问题 但是如果是我有多个站点,然后存在同类型的角色去操作 ...
- EF+LINQ事物处理
在使用EF的情况下,怎么进行事务的处理,来减少数据操作时的失误,比如重复插入数据等等这些问题,这都是经常会遇到的一些问题 但是如果是我有多个站点,然后存在同类型的角色去操作同一条数据的同一个字段的话, ...
- .NET MVC+ EF+通用存储过程实现增删改功能以及使用事物处理
引摘: 1.EF对事务进行了封装:无论何时执行任何涉及Create,Update或Delete的查询,都会默认创建事务.当DbContext类上的SaveChanges()方法被调用时,事务就会提交, ...
随机推荐
- TCMalloc 安装与使用
TCMalloc 安装和使用 Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn.net/chen19870707 Da ...
- javascript于"return obj === void 0"这样的书面理由和优势
得知underscore.js什么时候,查看源代码经常出现的类别似下面的代码: if (context === void 0) return func; if (array == null) retu ...
- 使用SQLServer Audit来监控触发器的启用、禁用情况
原文:使用SQLServer Audit来监控触发器的启用.禁用情况 使用情景: 有时候会发现在触发器中的业务逻辑没有执行,可能是因为触发器的逻辑错误所引起的.但是有时候却是因为一些触发器被禁用了. ...
- Activity生命周期解决(有图有真相)
Activity完整的生命周期: 启动Activity的周期历程: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGVuZ2t2/font/5a6L5L2 ...
- SQL Server 2008 R2 性能计数器详细列表(三)
原文:SQL Server 2008 R2 性能计数器详细列表(三) SQL Server,Deprecated Features 对象: 监视指定为不推荐使用的功能: SQL Server Depr ...
- UVA 12538 Version Controlled IDE 解题报告
题意:给三种操作 1.在p位置插入一个字符串. 2.从p位置开始删除长度为c的字符串 3.输出第v个历史版本中从p位置开始的长度为c的字符串 解法:可以用平衡树做,但是不会.后来又听说可一用一个叫ro ...
- Android系统关机或几种方式重启
---------------------------------------------------------------------------------------------------- ...
- android做设计的每一个屏幕尺寸和分辨率(一个)
一个.与分辨率无关 1.使用dp(dpi) Android密度不依赖像素(dp)指定屏幕尺寸,它同意不同的屏幕尺寸和像素密度类似设备通过缩放来达到同样的效果. (不解决不同屏幕尺寸的问题?) 2.的资 ...
- 解决TD于ie10没有问题,
.打开命令提示符下,输入 gpedit 回车打开组策略编辑器: .计算机配置-管理模版-全部设置-关闭数据运行保护,双击打开.选择已启用.关闭组策略浏览器. .命令提示符下输入gpupdate/for ...
- 公布一个基于 Reactor 模式的 C++ 网络库
公布一个基于 Reactor 模式的 C++ 网络库 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 Aug 30 本文主要介绍 muduo 网 ...