ASP.NET Entity FrameWork中:
int flag = -1;
if (this.URPmanagementEntities1.Connection.State != System.Data.ConnectionState.Open)
{
this.URPmanagementEntities1.Connection.Open();
}
var trans = this.URPmanagementEntities1.Connection.BeginTransaction();
try
{
//这里进行添加数据操作 begin
        urpentity.AddToT_ArticleCatalog(articlecatalog);
urpentity.SaveChanges();
        T_Article article=new T_Article();
        article.CatalogID=articlecatalog.id;
  urpentity.AddToT_Article(article);
this.DbEntity.SaveChanges();
trans.Commit();
flag = 0;
}
catch (Exception ex)
{
trans.Rollback();
throw ex;
}
finally
{
if (this.DbEntity.Connection.State != System.Data.ConnectionState.Closed)
{
this.DbEntity.Connection.Close();
         }
}
return flag;
 
LinqToSql中使用事务类似:
事务的使用有两种方法:
如果不想使用默认的事务设置,比如想改变事务的孤立级别,我们可以给DataContext的Transaction属性赋值,以此使用自定义的事务。
  ctx.Transaction = ctx.Connection.BeginTransaction(System.Data.IsolationLevel.Serializable);
try
{
ctx.SubmitChanges();
ctx.Transaction.Commit();
}
catch
{
ctx.Transaction.Rollback();
throw;
}
finally
{
ctx.Transaction = null;
}

最后一种方式是通过TransactionScope创建轻量级事务,就像在ADO.NET中使用一样:

 using (TransactionScope scope = new TransactionScope())
{
ctx.SubmitChanges();
scope.Complete(); }
 

LinqToSql和ASP.NET Entity FrameWork 中使用事务的更多相关文章

  1. 在Entity Framework中使用事务

    继续为想使用Entity Framework的朋友在前面探路,分享的东西虽然技术含量不高,但都是经过实践检验的. 在Entity Framework中使用事务很简单,将操作放在TransactionS ...

  2. Entity Framework 教程——Entity Framework中的实体类型

    Entity Framework中的实体类型 : 在之前的章节中我们介绍过从已有的数据库中创建EDM,它包含数据库中每个表所对应的实体.在EF 5.0/6.0中,存在POCO 实体和动态代理实体两种. ...

  3. 关于Entity Framework中的Attached报错相关解决方案的总结

    关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...

  4. 关于Entity Framework中的Attached报错的完美解决方案终极版

    之前发表过一篇文章题为<关于Entity Framework中的Attached报错的完美解决方案>,那篇文章确实能解决单个实体在进行更新.删除时Attached的报错,注意我这里说的单个 ...

  5. [转]在Entity Framework中使用LINQ语句分页

    本文转自:http://diaosbook.com/Post/2012/9/21/linq-paging-in-entity-framework 我们知道,内存分页效率很低.并且,如果是WebForm ...

  6. Entity Framework中的多个库操作批量提交、事务处理

    在Entity Framework 中使用SaveChanges()是很频繁的,单次修改或删除数据后调用SaveChanges()返回影响记录数. 要使用批量修改或者批量删除数据,就需要SaveCha ...

  7. Lazy<T>在Entity Framework中的性能优化实践

    Lazy<T>在Entity Framework中的性能优化实践(附源码) 2013-10-27 18:12 by JustRun, 328 阅读, 4 评论, 收藏, 编辑 在使用EF的 ...

  8. Entity framework 中Where、First、Count等查询函数使用时要注意

    在.Net开发中,Entity framework是微软ORM架构的最佳官方工具.我们可以使用Lambda表达式在Entity framework中DbSet<T>类上直接做查询(比如使用 ...

  9. 在Linq to sql 和 Entity framework 中使用lambda表达式实现left join

    在Linq to sql 和 Entity framework 中使用lambda表达式实现left join 我们知道lambda表达式在Linq to sql 和 Entity framework ...

随机推荐

  1. 项目积累——JAVA知识积累

    调用天气: <iframe src="http://www.thinkpage.cn/weather/weather.aspx?uid=&c=CHXX0008&l=zh ...

  2. 三种硬件平台运行Laxcus大数据系统的表现

    从2.0版本开始,Laxcus大数据管理系统开始支持POWERPC.X86.ARM三种平台.其中X86和ARM又分为32位和64位两种,POWERPC是纯64位,所以实际上共有五种平台,操作系统统一使 ...

  3. jmeter随笔(9)--有两种编码风格,导致数据乱码

    问题:在一个网站,有两种编码风格,导致数据乱码 解决办法: 1.首先设置jmeter的配置文件 2.针对要求是utf-8格式的这样的请求,做单独的编码处理(beanshell处理) 3.运行,在htm ...

  4. 科普:什么是IPV4?什么是IPV6?

    IPv4是Internet Protocol version 4(网际协议版本4)的英文简称,而中文简称为“网协版4”. 目前的全球因特网所采用的协议族是TCP/IP协议族.IP是TCP/IP协议族中 ...

  5. Flash图表控件FusionCharts如何在图表中显示标识和图片

    在FusionCharts的图表中显示外部商标 使用FusionCharts之后,用户可以在运行时加载需要在图表中显示的外部标识/图片/图像.这个标识可以GIF / JPEG / PNG或SWF文件格 ...

  6. SDUT 3345 数据结构实验之二叉树六:哈夫曼编码

    数据结构实验之二叉树六:哈夫曼编码 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 字符的编 ...

  7. 能在手机播放的Flash代码

    有些使用Flash的广告图片变换代码在手机不支持,在网上搜到了一个解决的方法: Flash嵌入处: <iframe style="width:474px;height:276px; b ...

  8. adb调试命令详解-2016.02.01

    adb(Android Debug Bridge),调试桥可以让设备的调试监测过程在远端进行,而不必在运行实际运行应用的设备上,方便调试的输出. 1 命令详解 a 查看帮助信息         adb ...

  9. 【python】os模块

    1.os.name 输出字符串指示正在使用的平台.如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'. 2.os.getcwd() 函数得到当前工作目录,即当前Py ...

  10. Backup App's data without rooting the phone

    First I'd like to let you know that my phone is Android 6.0 Marshmallow. So it works on the latest A ...