LINQ To SQL не отправляет изменения - PullRequest
3 голосов
/ 18 мая 2011

Это кажется популярным вопросом, так как я видел несколько тем по этому вопросу. Тем не менее, я не могу получить обновления для работы. У меня есть код 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();
}

Что я делаю не так?

1 Ответ

0 голосов
/ 18 мая 2011

Я думаю, что вам, возможно, потребуется пометить ордер как измененный, выполнив следующее

database.MarkAsModified(order)

перед базой данных. SubmitChanges ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...