EF4: Сериализация только активно загруженных навигационных свойств объектов Poco - PullRequest
0 голосов
/ 18 мая 2011

Я использую службу WCF, которая возвращает объекты POCO.Мои навигационные свойства помечены как виртуальные, чтобы включить отложенную загрузку / прокси.Я также использую шаблон [ApplyDataContractResolver] для сериализации прокси как родительского объекта POCO.Все работает нормально, пока я не добавлю свойства навигации к обеим сторонам отношения, что приводит к циклической ссылке, что приводит к неправильной сериализации.Есть ли способ сказать сериализатору сериализовать только загруженные нетерпением (используя .include ()) свойства навигации и игнорировать свойства навигации, которые еще не загружены, вместо того, чтобы заполнять их?

1 Ответ

2 голосов
/ 18 мая 2011

Сериализация только активно загруженных свойств невозможна, если вы не определите вручную . Более того, это не поможет вам, потому что вы можете загружать сущности с циклической ссылкой. Если вы хотите отправить POCO через WCF, вам следует отключить отложенную загрузку, потому что вы никогда не избежите отложенной загрузки ненужных свойств, если только вы навсегда не исключите их все из сериализации по атрибутам, но в таком случае они не будут сериализованы и после активной загрузки. 1003 *

...