LINQ to SQL 不提交更改
本文关键字:提交 to SQL LINQ | 更新日期: 2023-09-27 17:57:08
这似乎是一个流行的问题,因为我已经看到了几个关于这个问题的线程。但是,我无法获得工作更新。我有一些如下所示的 LINQ to SQL 代码:
int orderID = GetOrderID();
using (DBDataContext database = new DBDataContext())
{
var order = database.Orders.FirstOrDefault(x => x.OrderID == orderID);
if (order != null)
{
order.IsOpen = GetIsOpen();
database.SubmitChanges();
}
}
我可以设置断点,并看到它正在进入我的 IF 语句。我还启动了 SQL 分析器,并注意到此代码没有语句。但是,我可以使用以下代码成功添加订单:
Order newOrder = GetNewOrder();
using (DBDataContext database = new DBDataContext())
{
database.Orders.InsertOnSubmit(newOrder);
database.SubmitChanges();
}
我做错了什么?
我认为您可能需要通过执行以下操作将订单标记为已更改
database.MarkAsModified(order)
在数据库之前。提交更改()