这似乎是一个受欢迎的问题,因为我已经看到了几个主题。但是,我无法获得更新工作。我有一些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();
}
我做错了什么?
答案 0 :(得分:-2)
我认为您可能需要通过执行以下操作将订单标记为已更改
database.MarkAsModified(order)
在data.SubmitChanges()之前