Это зависит от того, что вы подразумеваете под «SOA». Предоставление доменных объектов в контрактах на обслуживание редко дает хороший дизайн сервиса - оно раскрывает внутренние детали реализации, существует большая вероятность изменения опубликованного контракта, и управление версиями становится очень трудным.
Если вы создаете пользовательские документы сообщений (например, WCF DataContracts) для своих конечных точек службы, относительно легко использовать ORM для реализации службы. Обычно вы должны перезагрузить объект домена из базы данных и отобразить измененные свойства (или вызвать метод), а затем сохранить изменения.
Если ваша служба в основном использует методы CRUD, ваше собственное сообщение будет DTO. Вам нужно будет вручную управлять оптимистичным параллелизмом и сопоставлением объектов домена.
Обновление: Это старый ответ, поэтому я хотел бы отметить, что EF4 также теперь включает отслеживание изменений в сущностях . Я до сих пор утверждаю, что это плохой дизайн контракта на обслуживание, но если вы просто следите за структурой распределенных приложений, это, вероятно, хороший вариант.