Рекомендуется, чтобы он возвращал класс DTO / POCO, который явно разработан как контракт данных и не имеет логики постоянства.
Причина в том, что если вы передаете объект EntityObject, выделают предположение, что потребитель сервиса будет иметь ссылку на тот же контекст данных, и это нарушает принцип явных границ SOA.Это уменьшает возможность повторного использования вашего сервиса.
Вероятно, что Microsoft реализовала DataContract на EntityObject для поддержки некоторых из своих инструментов доступа к базе данных на основе WCF, таких как RIA.INotifyPropertyChanged предназначен для поддержки связывания WPF и не связан с WCF или контрактами на данные.