Какова лучшая стратегия отслеживания статуса POCO?(EF) - PullRequest
1 голос
/ 16 ноября 2010

Итак, я читал об Entity Framework и, основываясь на своем сценарии гибкой разработки, я решил использовать объекты POCO.

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

Я работаю со службами RIA и Silverlight, поэтому, когда я собираюсь сохранить объект на стороне сервера, я должен прикрепить объект к ObjectContext. Дело в том, что я должен затем изменить ObjectState на Добавленный или Измененный.

Так что мой вопрос в том, каков наилучший подход, чтобы действительно знать, в какое состояние его менять. В книге Джулии Лерман я видел, что она использует атрибут State в своих объектах POCO, и она заботится об управлении этим состоянием на стороне клиента перед отправкой объекта на сервер. Это состояние затем используется для изменения реального EntitySate после присоединения.

Я также видел другие примеры, в которых реализация Insert проверяет ключ сущности (объекта), чтобы узнать, является ли он новым или нет. Например, если ProjectId в моем объекте Project равен 0 (ноль), я знаю, что это должен быть новый объект.

Если честно, мне не нравится ни один из этих подходов, потому что в обоих случаях мои разработчики должны проделать дополнительную работу, чтобы реально сохранить объект.

Мне бы хотелось знать плюсы и минусы обоих решений и, надеюсь, новое (лучшее) решение, которое я до сих пор не вижу.

1 Ответ

0 голосов
/ 17 ноября 2010

Вы все еще можете иметь самопроверяемые объекты и poco. В Visual Studio при поиске по шаблонам сообщества есть шаблон poco для самостоятельного отслеживания. это то, что вы хотите использовать. Если вы можете найти шаблон, ищите свои объекты, используя Ientitywithobjecttracker.

http://msdn.microsoft.com/en-us/library/dd456848.aspx

...