用EF操作数据库 对多张表操作是不是需要事务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用EF操作数据库 对多张表操作是不是需要事务相关的知识,希望对你有一定的参考价值。
用EF操作数据库 ,
1,对多张表进行操作,如果用的是同一个DB上下文,是否需要用事务,还是说DB上下文本身就有事务不需要了?
2,操作多表时,是每操作完一张表后SaveChanges()比较好还是,最后整体SaveChange()好 请全面回答,重点回答 1 问题
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。 参考技术A 1.同一个DB上下文本身就是事务的.
2.本身没有区别. 请根据业务需求决定.SaveChanges()时才会进行约束检查,发生异常会导致回滚.追问
如果同一个DB上下文本身有事务,那我每操作一完张表就SaveChanges()一次,如果在最后一张表,出异常,还能回滚吗
追答回滚到前一个SaveChanges,多个表是同一个事物,请在最后SaveChanges.
本回答被提问者采纳以上是关于用EF操作数据库 对多张表操作是不是需要事务的主要内容,如果未能解决你的问题,请参考以下文章