【发布时间】:2015-11-13 10:57:20
【问题描述】:
我在使用 linq2sql 将对象保存到数据库时遇到问题
代码如下:
static DataContext dataContext = new DataContext();
public static void ConfirmationPaymentOrder(ConfirmPayments data)
{
using (dataContext = new DataContext(DBConnection))
{
foreach (OrdersConfirm orderConfirm in data.OrdersConfirm)
{
var result = SendRequestToConfirm(orderConfirm.Orders, orderConfirm.UserName, orderConfirm.Password);
dataContext.Orders.InsertOnSubmit(orderConfirm);
dataContext.SubmitChanges();
}
}
}
错误:
Cannot access a disposed object.
Object name: 'DataContext accessed after Dispose.'.
我该如何解决这个问题?
【问题讨论】:
-
您的数据上下文显然是一个静态字段,而不是一个局部变量。你是用另一种方法处理它吗?
-
调用 dataContext.SubmitChanges() 后出现此错误?
-
@JonasH 我在声明数据上下文的地方添加了行。您是否以另一种方法处理它? - 没有
-
避免静态字段(和自动属性)
-
去掉静态的
dataContext字段,将代码改为using (var dataContext = ...
标签: c# .net linq linq-to-sql