ODataサービスを消費するWCFクライアントがあります。ある時点で、ユーザーはエンティティを削除できます。私はDataServiceContext.DeleteObject(object entity)
メソッドでこれを行います。 Entity.StateがDeletedになります。WCFの元に戻すエンティティ
ユーザーは削除を元に戻すことができます。どのように状態をModifiedに戻すことができますか?
ODataサービスを消費するWCFクライアントがあります。ある時点で、ユーザーはエンティティを削除できます。私はDataServiceContext.DeleteObject(object entity)
メソッドでこれを行います。 Entity.StateがDeletedになります。WCFの元に戻すエンティティ
ユーザーは削除を元に戻すことができます。どのように状態をModifiedに戻すことができますか?
私はようやくによってそれを行うには達成:
DataServiceContext.Detach(obj);
DataServiceContext.AttachTo("EntitySetName", obj);
これは、オブジェクトから削除し、ステータスを削除し、修正され、それを追加しました。
REST APIはステートレスです(または、そうでなければなりません)。削除されたものは元に戻すことはできません。それはなくなった。
できないことは削除しないことです。むしろ、true
に設定し、何かを削除するときに保存し、削除を取り消したいときはfalse
に戻すことができるように、データにIsDeletedフラグを保持します。明らかに、すべてのクエリと変更でこのフラグを考慮する必要があります。
私は私の質問を明確にしなければならないと思う。変更(削除)はサービスに送信されません。私はエンティティの状態を「削除されていない」と設定し、サービスへの送信時に削除されないようにします。 – scher
メソッド 'DataServiceContext.ChangeState(obj、EntityStates.Modified) 'で状態を設定しようとしましたが、これは機能しません。 – scher