当前位置: 移动技术网 > IT编程>开发语言>.net > EF+LINQ事物处理

EF+LINQ事物处理

2018年09月21日  | 移动技术网IT编程  | 我要评论

孕妇能吃腐乳吗,荻迪,美妙世界金手指

在使用ef的情况下,可能也会存在说我有多个站点,同时去访问一个数据库,操作同一条数据的同一个值,那么我们怎么来进行事物的处理呢

有这么一个很好的解决方式

ef6里面提供了这么一个方式来处理事物

database.begintransaction() : 为用户提供一种简单易用的方案,在dbentitys

中启动并完成一个事务 -- 合并一系列操作到该事务中。同时使用户更方便的指定事务隔离级别。

database.usetransaction() : 允许dbcontext使用一个ef框架外的事务。

using system; 
using system.collections.generic; 
using system.data.entity; 
using system.data.sqlclient; 
using system.linq; 
using system.transactions; 
 
namespace transactionsexamples 
{ 
    class transactionsexample 
    { 
        static void startowntransactionwithincontext() 
        { 
            using (var db= new dbentitys()) 
            { 
                using (var dbcontexttransaction = db.database.begintransaction()) 
                { 
                    try 
                    { 
                    var query = context.posts.where(p => p.blog.rating >= 5); 
                        foreach (var post in query) 
                        { 
                            post.title += "[cool blog]"; 
                        } 
 
                        context.savechanges(); 
 
                        dbcontexttransaction.commit(); 
                    } 
                    catch (exception) 
                    { 
                        dbcontexttransaction.rollback(); 
                    } 
                } 
            } 
        } 
    } 
}

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网