1

WCF Data Services 5.5 を介してエンティティの一部を更新する方法を探しています。エンティティ全体のいくつかのフィールドを更新するだけです。

いくつかの方法を見つけました。

  1. context.AttachTo(...);and を使用してエンティティ全体を更新できcontext.UpdateObject(tp);ますが、エンティティのすべてのフィールドが更新されます。一部のフィールドのみを更新したいと思います。

  2. RequestPipeline次のブログで説明されているように、いくつかのロジックを追加し、更新してはならないフィールドを削除しますhooks-in-wcf-data-services-client.aspx

  3. リクエストを手動で作成します。

これを行う他の方法はありますか?System.Data.Services.Client.DataServiceContext部分的な更新を有効にするように構成する方法はありますか?

4

1 に答える 1

0

ほとんどのクライアントは、既定で HTTP PATCH を使用します。これは OData で使用され、WCF Data Services 実装でサポートされています (PATCH が指定される前は、以前は MERGE として使用されていました)。

ただし、あなたの質問からは、クライアントからサーバーではなく、サーバーから DBMS への部分的な更新を行うことに疑問を持っているように見えます。また、Entity Framework プロバイダーを使用しているようです。それが正しい場合は、entity-framework タグを使用して質問し、WCF Data Services への参照から削除することをお勧めします。これは実際には関係がないためです。

于 2013-08-06T16:56:42.570 に答える