EF4 ПОСТЕПЕННО: снимок по сравнению с самоотслеживанием по WCF

В прошлом году я разработал сервис доступа к данным для нашего проекта с помощью Платформы Объекта (.NET3.5, конечно) и с помощью книги Julie Lerhman в качестве руководства, которому ПОСТЕПЕННО возражает разработанное состояние, отслеживающее. Мы используем WCF и также имеем Silverlight 3 клиента. Мы перемещаемся в.NET 4.0, и я хочу переключиться на использование генерации кода для устранения потраченного впустую времени разработчика, пишущий ПОСТЕПЕННО классы и классы перевода.

С исследованием я сделал, кажется, существует 3 способа состояния, отслеживающего POCOs:

1) Измененные прослеженные прокси: кажется, не полезен для нас, поскольку кажется, что это не работает по сериализации WCF.

2) Снимок базирующимся: Снимок взят, когда ПОСТЕПЕННО график объекта получен, возвращенный график от клиента по сравнению с тем снимком, и различия сравнены... кажется хорошим мне.

3) Самоотслеживание Объектов: Генератор кода генерирует логику для того, чтобы сделать сам отслеживающий в ПОСТЕПЕННО объекты. Это кажется близко к тому, что мы делаем теперь кроме него, все сгенерирован для нас.

Я пытаюсь разработать то, что преимущества и недостатки между всеми этими методами. Я предполагаю, что 1 и 2 "соединены" и что им нужен ObjectContext, что POCOs были первоначально запрошены от остаться instanciated, но не были в состоянии подтвердить это. Я также не вижу оснований, почему любой действительно обеспокоился бы опцией 1, учитывая, что опция 3, кажется, делает то же и больше...

Снимок кажется самым простым мне, но если это требует, чтобы ObjectContext оставался открытым в течение долгого времени, я не так уверен...

Я - только младший программист так любой совет здесь, особенно относительно Silverlight 3 (я полагаю, что работа опций 2 и 3 с Silverlight 3, но 2 может иметь проблемы), очень ценится.

12
задан MrLane 26 February 2010 в 00:38
поделиться

2 ответа

Выберите вариант 3. Самостоятельно отслеживающие сущности, поскольку именно для этого они были разработаны.

«Сущности с самопроверкой оптимизированы для сценариев сериализации»

Этот пост дает хорошую демонстрацию.

14
ответ дан 2 December 2019 в 20:17
поделиться

Две другие опции применимы только тогда, когда изменения производятся, когда вокруг есть контекст объекта. Ваш единственный вариант - STE. С помощью STE сущности будут отслеживать свои собственные изменения. Когда измененный граф объекта отправляется на сервер, вы можете просто воспроизвести эти изменения, как показано ниже. db.Dustomers.ApplyChanges (заказчик); db.SaveChnages ();

С помощью STE вы можете создавать свои объекты в проекте библиотеки классов и делиться ими между клиентом WCF, клиентом silverlight, asp.net и wpf. Таким образом, это дает вам возможность повторно использовать объекты для различных клиентов.

2
ответ дан 2 December 2019 в 20:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: