Какова цель UpdateObject для Linq to REST?

Когда кто-то использует службы данных ADO.NET и потребляет их через Linq to REST (ранее Project Astoria), это не кажется таким интуитивным, как могло бы быть.

А именно, с обычным Linq to SQL DataContext отслеживает объекты и изменения, поэтому простой вызов SubmitChanges() фактически отправит все мои изменения.

Но с Linq to REST мне нужно вызвать UpdateObject(entity), чтобы уведомить DataContext о том, что объект грязный.

Какой в ​​этом смысл? Или я что-то упускаю? Почему бы просто не реализовать в автоматически сгенерированных классах INotifyPropertyChanged и отслеживать изменения, такие как Linq to SQL?


person JustLoren    schedule 18.11.2009    source источник


Ответы (1)


В версии 3.5 SP1 у нас не было этой функции. Но в следующем выпуске, как Astoria 1.5 CTP2, так и Dev10 beta2, у нас есть возможность генерировать классы, реализующие INotifyPropertyChanged, и в этих случаях не нужно вызывать UpdateObject.

Если вы используете VS для генерации классов, то в dev10 эта опция включена по умолчанию. Но для 3.5 SP1 вам придется использовать этот параметр вручную.

Пожалуйста, дайте мне знать, если вам понадобится дополнительная информация по этому поводу.

Для битов CTP2 вот ссылка: http://blogs.msdn.com/astoriateam/archive/2009/08/31/ado-net-data-services-v1-5-ctp2-now-available-for-download.aspx

Спасибо Pratik

person Pratik Patel    schedule 19.11.2009
comment
Короче говоря, настоящий ответ на мой вопрос - потому что мы этого не делали? - person JustLoren; 19.11.2009
comment
Да, мы не реализовали автоматическое отслеживание изменений в версии 3.5 Sp1. - person Phani Raj; 20.11.2009