Краткий XML из EntityObject через WCF? - PullRequest
0 голосов
/ 29 октября 2010

Я довольно новичок в WCF и Entity Framework, так что терпите меня.

Я передаю объекты, сгенерированные Entity Framework, через службу WCF, и я хочу иметь возможность доступа к указанным объектам с помощью SOAP и REST. То, что у меня сейчас работает, но выводимый XML кажется гораздо более раздутым, чем нужно. Вот пример ответа от вызова REST:

http://www.nodarkthings.com/misc/movies.xml

Ранее, когда я пытался сделать это, используя LINQ to SQL (то есть передавая мои объекты L2S через службу WCF и получая их с помощью вызова REST), у меня были очень краткие ответы, которые содержали в основном теги свойств и их значения. Другими словами, тегов EntityKey, EntitySet и т. Д. Не было.

Есть ли способ добиться этого с помощью Entity Framework через WCF?

Редактировать: Также кажется, что методы, передающие / возвращающие переменные, полученные из EntityObjects, не будут работать в тестовом клиенте WCF. Есть идеи почему?

1 Ответ

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

Чтобы ответить на мой собственный вопрос, решение состояло в том, чтобы использовать объекты POCO и передавать их вместо этого. Вы можете найти серию статей по этому подходу, начиная с: http://blogs.msdn.com/b/adonet/archive/2009/05/21/poco-in-the-entity-framework-part-1-the-experience.aspx

Существует также отличный шаблон для автоматической генерации этих классов, который вы можете найти здесь: http://visualstudiogallery.msdn.microsoft.com/en-us/23df0450-5677-4926-96cc-173d02752313

Обновление: Вместо того, чтобы использовать базовые объекты POCO, я обнаружил, что использование Self-Tracking Entities (или STE) - лучший подход. STE по сути являются объектами POCO с небольшим трекером, встроенным в каждый объект. Это упрощает намного при обновлении ваших объектов / базы данных.

...