У нас есть служба WCF, которая использует Entity Framework для запроса базы данных SQL. Служба WCF - это наш уровень доступа к данным. Если какое-либо из наших приложений предназначено для чтения / записи данных в базу данных и из нее, мы вызываем метод службы WCF. Служба WCF сериализует объекты EntityObject для клиентских приложений.
В клиентском приложении (например, приложении WPF или приложении ASP.NET) мы можем обновить свойство объекта и вызвать службу WCF, передав объект в качестве параметра, для обновления базы данных. Обновленный объект может иметь сотни дочерних объектов, связанных с ним.
Например, у объекта Customer будет свойство Projects, представляющее собой список объектов Project. Если наше клиентское приложение изменяет простое скалярное свойство в объекте Customer, например CustomerName, нам нужно сохранить это изменение в базе данных, вызвав метод обновления в службе WCF. Проблема в том, что мы передаем сущность Customer в службу для обновления, но все присоединенные проекты также сериализуются и передаются в службу WCF, хотя метод обновления службы WCF касается только изменений скалярных свойств в Customer юридическое лицо. Очевидно, что мы сериализуем и передаем гораздо больше данных, чем необходимо.
Кто-нибудь имел опыт решения этой проблемы? Так или иначе, я хотел бы только сериализовать сущность Customer обратно в службу WCF, не выполняя глубокую сериализацию всего графа объектов.
Спасибо.