走进Linq-How do I(4)拾遗补零篇第一节
系列文章导航:
不能不说的C#特性-迭代器(下),yield以及流的延迟计算
走进Linq-Linq to SQL How do I(1)
走进Linq-Linq to SQL How do I(2)
走进Linq-Linq to SQL How do I(3)
走进Linq-Linq to SQL源代码赏析 Table
走进Linq-Linq to SQL源代码赏析之Provider的初始化
走进Linq-Linq to SQL源代码赏析,通过Linq to SQL看Linq
这样就可以用你自定义的存储过程做插入操作了。
Linq to SQL中的事务
事务这个东西在并发的时候特别重要,Linq to SQL本身就支持事务,不过是乐观锁。我们也可以显式的启动Linq to SQL的事务。
dbCtx.Transaction = dbCtx.Connection.BeginTransaction();
try
{
dbCtx.ExecuteCommand("insert into posts(blogid,title,body) values({0},{1},{2})", "2", "走进Linq-How do I(4)", "废话一篇");
dbCtx.ExecuteCommand("insert into posts(blogid,title,body) values({0},{1},{2})", "3", "走进Linq-How do I(5)", "废话两篇");
dbCtx.Transaction.Commit();
}
catch
{
dbCtx.Transaction.Rollback();
}
DbConnection的BeginTransaction方法还可以接受一个枚举参数IsolationLevel,来指定事务隔离的级别。
对于那些多个DataContext之间的事务,我们可以使用.NET 2.0引入的TransactionScope
下一篇谈谈RowVersion的问题