【发布时间】:2011-06-20 19:36:06
【问题描述】:
使用 SQLSERVER 2008R2、VisualStudio 2010、.NET 4.0
我收到此定期异常:“服务器无法恢复事务 - Desc 2000003”(编号更改)
阅读在线论坛和此处,我发现主要原因是正确实例化并关闭连接。
我的课程应该是什么样的?
在 Class 级别创建 DataContext 并在所有方法上使用它?
public class BusProcess
{
RENDBDataContext db = new RENDBDataContext();
public void Insert()
{
//Do stuff here...
db.InsertProcedure(...);
}
}
通过 using() 在每个方法上创建和处置一个新的 DataContext ?
public class BusProcess
{
public void Insert()
{
using(RENDBDataContext db = new RENDBDataContext())
{
//Do stuff here...
int sample = db.SomeObject.SingleOrDefault(...).Id;
db.InsertProcedure(...);
}
}
}
或者也许是不同的方法(最佳实践)
【问题讨论】:
标签: c# .net linq linq-to-sql