В настоящее время мы создаем наше первое большое приложение с Silverlight 4 (используя PRISM) и Entity Framework 4. Теперь у меня возникает общий вопрос о сохраняющихся данных модели представления. Предположим, у меня есть объекты домена, которые переводят на объекты EF4 с несколькими ассоциациями (Entity имеет коллекции, имеющие коллекции снова и т. Д.). Каким будет лучший способ сохранить эти графики во время/после действий пользователя? Было бы лучше написать более гранулированные методы репозитория, такие как «AddEntityToParent» и «RemoveEntityFromParent», или просто взять все данные из представления и направить его на метод «SaveLargeParentEntity»? Могу ли я «кэшировать» элементы модели просмотра для дочерних объектов в Silverlight и в дальнейшем переместить все это на EF4, или мне нужно будет сделать подробное обновление для каждого элемента, измененного в пользовательском интерфейсе? Любой хороший совет? Надеюсь, мой вопрос был достаточно ясным. Спасибо.Графики объектов Entity Framework 4 + Silverlight
ответ
Вы фактически делаете выбор между основными операциями CRUD и работой с графами объектов. Я бы выбрал второй подход, потому что CRUD operations over web service can be very chatty.
При работе с графами объектов, отправляемых через веб-службу, вы должны иметь дело с автономным поведением. Отдельные объекты + граф объектов couses some troubles при обновлении отношений. Наилучший подход обычно заключается в том, чтобы загрузить весь график перед обновлением (получить прикрепленные объекты) и слить полученный граф в прикрепленный файл - он будет правильно отслеживать изменения для вас.
Но поскольку вы используете Silverlight, который является состоятельным, вы также можете подумать об использовании объектов самообследования (STE). STE могут отслеживать изменения после их отсоединения от EF ObjectContext. Таким образом, вы можете вернуть граф объектов из STE из веб-службы в приложение Silverlight, внести некоторые изменения в STE и отправить один и тот же граф объектов обратно в веб-службу. Applying changes от STE будут обрабатывать много работы для вас. Имейте в виду, что STEs are not the best solution для служб, которые должны быть доступны для общих веб-приложений или не .NET-клиентов.
- 1. Проблема с сопоставлением объектов Entity Framework 4
- 2. Удаление объектов на платформе Entity Framework 4
- 3. Репозиторий Entity Framework 4?
- 4. Entity Framework 4 DDL
- 5. Entity Framework 4, MOQ,
- 6. Entity Framework 4 Соглашения
- 7. Entity Framework 4 - Ассоциации
- 8. Entity Framework 4
- 9. Query Entity Framework 4
- 10. Entity Framework 4 - Inheritance
- 11. Почему Silverlight 4 использует службу WCF RIA для Entity Framework?
- 12. Entity Framework 4 Удалить объект из коллекции объектов
- 13. Entity Framework 4 и проверка нестационарных объектов в коллекциях отношений
- 14. SQLCE 4 Private Entity Framework Framework 6
- 15. entity framework 4 IObjectSet включает
- 16. Entity Framework 4 с Oracle
- 17. ASP.NET MVC 4 | Entity Framework
- 18. Entity Framework 4: Math.Sin() - функция
- 19. Entity Framework 4 и синонимы
- 20. Entity Framework 4 vs NHibernate
- 21. Entity Framework 4 и Velocity
- 22. MVC 4 Entity Framework Models
- 23. Entity Framework 4 Каскадное обновление?
- 24. Connection.BeginTransaction и Entity Framework 4?
- 25. Архитектура сайта Entity Framework 4
- 26. Entity framework 4 или DataSet?
- 27. TimeStamp в Entity Framework 4
- 28. Entity Framework 4: Phantom MDF
- 29. View - ViewModel - Entity Framework 4
- 30. Entity framework 4, Dynamic query
Спасибо за ваш продуманный ответ! – hoetz
При использовании объектов самопроверки я должен разоблачить эти классы сущностей, чтобы, таким образом, плотно связать мои слои ... – hoetz
@Malkier: Да, это недостаток STE, а также причина, по которой STE не пригодны для .NET-клиентов. –