SaveChanges ничего не делает, используя сущности LINQ поверх OData - PullRequest
0 голосов
/ 07 марта 2012

В некоторых случаях мне удалось обмануть его при обнаружении изменений с помощью UpdateObject:

public UpdateOrderDescription(int userId)
{
    var entities = new DatabaseEntities(new Uri("http://SomeServer/OrderService.svc")) { UsePostTunneling = true};

    var order = (from o in entities.Orders where o.UserId == userId select o).Single();

    order.Description = "Hello";
    entities.UpdateObject(order);
    entities.SaveChanges();
}

Но это не работает при использовании отношения многие ко многим с использованием свойств навигации, поскольку я не могу выполнить UpdateObject для свойства навигации.

1 Ответ

1 голос
/ 08 марта 2012

Взгляните на эту статью: http://msdn.microsoft.com/en-us/library/dd756361.aspx

Короче говоря, клиентская библиотека для WCF DS должна быть уведомлена об изменениях, которые вы хотите внести. По умолчанию это делается с использованием UpdateObject, SetLink, AddLink и аналогичных методов в контексте.

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