Проблема здесь в том, что EF отслеживает прикрепленные объекты, используя собственный уникальный идентификатор для каждого извлеченного объекта, отличный от первичного ключа записи в вашей базе данных.Это свойство, конечно, не помечено атрибутом DataMember, поэтому при отправке через службу WCF вы теряете ключ, который использовался EF для его отслеживания.При десериализации объекта это уже не тот же точный объект, а другой, более простой, содержащий только свойства, отмеченные атрибутом DataMember.Поэтому, когда служба получает их снова, вы, конечно, теряете связь между объектом и EF.
Пробовали ли вы присоединить объект к контексту?Я думаю, что это должно работать, но я сам не пробовал.