У меня проблемы с определением того, каким должен быть мой OperationContract
при добавлении / обновлении объекта. Я хочу отправить сущность (или список сущностей) на ObjectContext
через Службу WCF (которая создаст экземпляр Бизнес-менеджера для меня для выполнения фактической проверки).
Если сущность проходит все правила валидации (для которых вполне может потребоваться запрос базы данных для определения прохождения / сбоя для более сложных бизнес-правил), она будет сохранена в базе данных, и мне нужно будет иметь возможность передать обратно свой идентификатор (первичный ключ Identity Column) и значение токена параллелизма (столбец timestamp), но в случае его сбоя, очевидно, мы хотим получить сообщение или сообщения о том, что было не так. В случае обновления все, что нам понадобится, - это новое значение токена параллелизма, но опять-таки нам нужны сообщения о проверке.
Чтобы сделать это более сложным, у сущности может быть также несколько дочерних / внучатых сущностей. Например, у Поездки будут Остановки, которые потенциально могут иметь Ордера.
Мне просто интересно, как люди справляются с этим в реальном мире. Простейшие примеры просто показывают операции службы WCF, такие как:
[OperationContract]
bool AddEntity(Entity e);
[OperationContract]
bool UpdateEntity(Entity e);
У кого-нибудь есть отличные идеи для этого? Наверное, я просто ищу здесь практический совет.
Должны ли мы пытаться сохранить коллекцию объектов в одном вызове службы?
Должны ли мы передавать сообщения проверки через договор о сбое?
Любой совет / вклад будет полезен, спасибо!