Linq to Entities in Ado.net EF的事务
2009-07-10 17:53
477 查看
保持重典的风格,先看一下最终的效果.
近乎所有的LinqtoSQL的查询中总是免不了execsp_reset_connection与AuditLogout(就是数据库连接)
这一进一出,费时太多,于是近半年来每个月总有那么几天来研究它
网上呢,解决方案不是没有
using(TransactionScopets=newTransactionScope())
{
//一堆LinqtoSqlorLinqtoEntities,重典语
}
不过这个经过无数次的使用发现,CUD它的确可以将生成的SQL事务执行,但也不是完全.
而且在Select时它几乎就是不起作用,一对对的execsp_reset_connection和AuditLogout,快把我B疯了
varDB=newXXContext();
DB.Connection.Open();
using(varts=DB.Connection.BeginTransaction()){
//一堆SqltoEntities,重典语
}
DB.Connection.Close();//是否必写写未实验
这一下就爽了,原本支离破碎的SQL事务一气和成
其实也可以写一个自定义实现了IDisposable的类,使Open()Close()也省了.
这回爽了
在EF中如何才能使你的操作与EF的SqltoEntities在同一事务中呢,其实这样即可:
cmd.Connection=(DB.ConnectionasEntityConnection).StoreConnection;
这样就可让二者使用共同的Connection了.
前言
这事吧,还得从LinqtoSql说起近乎所有的LinqtoSQL的查询中总是免不了execsp_reset_connection与AuditLogout(就是数据库连接)
这一进一出,费时太多,于是近半年来每个月总有那么几天来研究它
网上呢,解决方案不是没有
using(TransactionScopets=newTransactionScope())
{
//一堆LinqtoSqlorLinqtoEntities,重典语
}
不过这个经过无数次的使用发现,CUD它的确可以将生成的SQL事务执行,但也不是完全.
而且在Select时它几乎就是不起作用,一对对的execsp_reset_connection和AuditLogout,快把我B疯了
正解
正确解决方法如下varDB=newXXContext();
DB.Connection.Open();
using(varts=DB.Connection.BeginTransaction()){
//一堆SqltoEntities,重典语
}
DB.Connection.Close();//是否必写写未实验
这一下就爽了,原本支离破碎的SQL事务一气和成
其实也可以写一个自定义实现了IDisposable的类,使Open()Close()也省了.
这回爽了
其它
另:有的时候我们要使用直接使用Sql来进行CUD(没R)也就是用传统的Command来操作在EF中如何才能使你的操作与EF的SqltoEntities在同一事务中呢,其实这样即可:
cmd.Connection=(DB.ConnectionasEntityConnection).StoreConnection;
这样就可让二者使用共同的Connection了.
相关文章推荐
- Linq to Entities in Ado.net EF的事务
- Linq to Entities in Ado.net EF的事务
- Linq to Entities in Ado.net EF的事务
- ADO.Net Entity Framework Linq To Entities 语法功能汇编
- Entity Framework (EF)/Linq To entity/ ESQL(entity sql)区别 ADO.NET Entity Framework:来自微软官方的ORM框架
- ADO.NET Entity Framework 学习初级篇3-- LINQ TO Entities
- ADO.NET Entity Framework & LINQ to Entities - deel 1
- ADO.Net Entity Framework Linq To Entities 语法功能汇编
- ADO.NET Entity Framework 学习初级篇3-- LINQ TO Entities
- ADO.Net Entity Framework Linq To Entities 语法功能汇编
- EF Provider for Access/ODBC 以及ADO.Net Entity Framework 与Linq to SQL的比较和适用场景:
- ADO.Net Linq to SQL and Linq to Entities Note
- EF Provider for Access/ODBC 以及ADO.Net Entity Framework 与Linq to SQL的比较和适用场景
- EF(3)-Linq TO ADO.NET
- T-SQL中的事务处理、ADO.NET中的事务处理、LINQ to SQL中的隐式事务处理、分布式事务处理
- Let operator in linqtoentities
- 转:LINQ to SQL(LINQ2SQL) vs. ADO.NET Entity Framework(ADOEF)-ccBoy版
- LINQ to SQL与ADO.NET
- 【转载】ADO.NET与ORM的比较(3):Linq to SQL实现CRUD
- Comparision Linq toSQL with ADO.net Entity Framework