OperationContract
エンティティを追加/更新するときに、何をすべきかを定義するのに問題があります。エンティティ (またはエンティティのリスト) を WCF サービス経由で送信したいと考えていますObjectContext
(これにより、実際の検証を行うためにビジネス マネージャーがインスタンス化されます)。
エンティティがすべての検証ルールに合格した場合 (より複雑なビジネス ルールの合否を判断するためにデータベースにクエリを実行する必要がある場合があります)、エンティティはデータベースに保存され、返せるようにする必要があります。その ID (ID 列の主キー) と同時実行トークン (タイムスタンプ列) の値ですが、それが失敗した場合は、明らかに、何が問題だったかを示すメッセージが必要です。更新の場合、必要なのは同時実行トークンの新しい値だけですが、ここでも検証メッセージが必要です。
さらに複雑にするために、エンティティは複数の子/孫エンティティを持つこともできます。たとえば、トリップにはストップがあり、オーダーが含まれる可能性があります。
私は、人々が現実の世界でこれをどのように扱っているのか疑問に思っています。最も単純な例は、次のような WCF サービスの操作を示しています。
[OperationContract]
bool AddEntity(Entity e);
[OperationContract]
bool UpdateEntity(Entity e);
これを処理するための素晴らしいアイデアはありますか? 私は本当にここで実用的なアドバイスを探しているだけだと思います。
1 回のサービス呼び出しでオブジェクトのコレクションを保存しようとする必要がありますか?
フォールト コントラクトを通じて検証メッセージを伝達する必要がありますか?
アドバイス/入力があれば助かります、ありがとう!