C# MVC Transaction 事务

目前MVC有默认事务,在一个using块中dbContext.saveChanges()就是一个默认事务。但是有时候,业务上需要自己写事务。

下面代码块中,使用了MVC默认的事务,我们如果需要获取到student的自增id,需要先savechange;但是有时候多表操作的时候,可能需要获取到自增id后,将id插入别的表中,等多表操作结束后,再一起提交事务。

using (DbContext context = new DbContext())

{

  context.Student.Add(student);
  context.SaveChanges();
  return student.ID;

}

详细的操作请看:https://msdn.microsoft.com/en-US/data/dn456843

时间: 2024-08-05 19:08:17

C# MVC Transaction 事务的相关文章

Transaction事务注解和DynamicDataSource动态数据源切换问题解决

问题描述: 写主库开事务的情况下会导致时不时的将更新/插入操作写入到从库上, 导致mysqlException 问题原因: jetty的工作队列会重用处理线程, 导致threadLocal被重用, 然而transaction注解在service层, 他会在DynamicDataSourceSwitch被设置之前直接去threadlocal拿数据, 本应拿到null, 但是拿到了之前线程的值 一般代码调用链: [email protected](AOP)-->DefaultSqlSession--

ASP.NET MVC 简单事务添加

ASP.NET MVC 简单事务 //实例化查询上下文 using ( BookStoreEntities db = new BookStoreEntities()) { //找到需要价格和名称的数据实体对象 var book = db.Books.FirstOrDefault(x => x.Title == "ASP.NET NVC 程序开发"); if(book!=null) { //更改属性值 book.Title = "ASP.NET NVC 程序开发"

Spring Transaction 事务模拟

事务,是描述一组操作的抽象,比如对数据库的一组操作,要么全部成功,要么全部失败. 事务有四个特性: Atomicity(原子性),Consistency(一致性),Isolation(隔离性),Durability(持久性) Spring对事务的支持很强大,但是从本质上来说,事务是否生效取决于数据库底层是否支持(MySQL的MyISAM引擎不支持事务), 同时,一个事务的多个操作需要在同一个connection上.下面手写一个Demo分析Spring事务底层实现. 工程结构 connection

Spring MVC一事务控制问题

在最近一个项目中用了Spring MVC作为控制层框架,但却出现了一个让人很费解的问题:事务控制. Spring MVC的配置文件名为:springMVC-servlet.xml,内容如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:/

Spring transaction事务之roll back回滚

转自:http://blog.csdn.net/lovejavaydj/article/details/7635848 试验方法: 写一个单元测试,调用一个service层方法(发生对数据库进行写操作的方法--insert.update.delete)即可. 试验过程: 定义一个service方法如下: public SMSTiming createSMSTiming(SMSTiming smsTiming){ SMSTiming s= this.getSmsTimingDAO().create

MSSQL Transaction[事务] and Procedure[存储过程]

1 --事务分三种 2 --1.显示事务 3 --我们手动begin transaction ...... commit transaction/rollback transaction 4 --上面这种写法叫做“显示事务” 5 6 --2.隐式事务 7 SET IMPLICIT_TRANSACTIONS { ON | OFF }隐式事务 8 9 10 --3.自动提交事务,SQL Server默认使用的是自动提交事务. 11 --我们每次执行一条sql语句的时候,sql server都会自动帮

Spring MVC中,事务是否可以加在Controller层

一般而言,事务都是加在Service层的,但是爱钻牛角尖的我时常想:事务加在Controller层可不可以.我一直试图证明事务不止可以加在Service层,还可以加在Controller层,但是没有找到有力的论据来支持我这个想法,搞得我一度认为事务只能加在Service层,直到我读过spring官方文档并实践之后,我知道我的想法是对的. 在spring-framework-reference.pdf文档中有这样一段话: <tx:annotation-driven/> only looks fo

[mybatis-spring] Transaction 事务/事务处理/事务管理器

使用mybatis-spring的主要原因之一就是: mybatis-spring允许mybatis参与到spring 事务中. mybatis-spring leverage[use (something) to maximum advantage)] 存在的DataSourceTransactionManager , 而无需为mybatis特意新建一个新的事务管理. 一旦Spring tansaction manager被配置,你可以像配置Spring中的transactions as yo

.Net系列 Transaction 事务

Transactions 事务(Transaction),一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit).在计算机术语中,事务通常就是指数据库事务. 应用场景: 应用程序需要执行多个操作,包括一个或多个数据库命令 * 其中一个数据库命令失败或某些其他操作失败(例如注册表更新) * 多项行动是为了一起工作.应用程序现在处于不一致的状态. 我们使用 transaction 来解决这个问题,transaction 就是执行所需的一组命令原子