WCF Data Services 5.0 の新機能

このリリースの WCF Data Services では、OData Version 3.0 の次の新機能がサポートされます。

  • All および Any 演算子
    OData では、コレクションの内容に基づいてフィードをフィルターすることができます。 新しい all と any 演算子により、関連するコレクションのプロパティまたは複数値プロパティに基づいて OData フィードをフィルターすることができます。

    .NET Framework クライアント ライブラリは、言語統合クエリ (LINQ) クエリでの All<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)Any<TSource>(IEnumerable<TSource>) の集合演算子の使用をサポートします。 詳細については、「LINQ に関する留意点 (WCF Data Services)」を参照してください。

  • コレクション プロパティ *
    OData では、データ サービスのデータ モデルの型のコレクション プロパティを定義することができます。 これらのコレクション プロパティには、プリミティブ型や複合型の順序なしコレクションが含まれます。

  • 名前付きリソース ストリーム
    OData では、特定のエンティティの名前付きリソース ストリームを定義できます。 これにより、特定のエンティティに関連付けられた 1 つを超えるバイナリ データ ストリームを持つことができます。 詳細については、「ストリーミング プロバイダー (WCF Data Services)」を参照してください。

    .NET Framework クライアント ライブラリは、名前付きリソース ストリームにアクセスできるようになりました。 詳細については、「バイナリ データの操作 (WCF Data Services)」を参照してください。

  • 新しいデータ型
    OData は、WCF Data Services でサポートされる次の新しいデータ型を定義します。

    • 地理空間型*

      OData では、プリミティブ型の新しいセットとして地理空間データ型がサポートされるようになりました。 詳細については、「空間ライブラリ」を参照してください。

    • DateTimeOffset

    • TimeSpan

  • PATCH 要求
    HTTP 標準には、新しい PATCH メソッドが追加されています。 OData は、この新しい HTTP メソッドをサポートします。 WCF Data Services は、MERGE 要求を処理するのと同じ方法で PATCH 要求を処理します。

    .NET Framework クライアント ライブラリでは、PATCH 要求を使用してデータ サービスに更新プログラムを送信するよう要求できます。 詳細については、「データ サービス コンテキストの管理 (WCF Data Services)」を参照してください。

  • Prefer ヘッダーのサポート
    OData は、POST、PUT、MERGE、または PATCH 要求への応答でペイロードが返されるかどうかを要求するクライアントの機能をサポートしています。 このクライアントの設定は、Prefer ヘッダーの値によって要求内で示されます。 .NET Framework のクライアントを使用する場合は、この設定は DataServiceContext によって管理されます。 詳細については、「データ サービス コンテキストの管理 (WCF Data Services)」を参照してください。

  • サービス アクション
    OData では、特殊な種類のサービス操作であるサービス アクションを定義することもできます。 サービス アクションは、本来はデータ中心のモデルに動作を挿入する手段を提供します。 サービス アクションによって、ロジックを特定のリソースにバインドする必要のある OData でビジネス ロジックを呼び出すことができます。 詳細については、「OData アクションを使用してサーバー側の動作を実装する」を参照してください。

  • ボキャブラリ注釈
    OData は、ボキャブラリを定義することによってデータ サービス メタデータを拡張する機能をサポートしています。 WCF Data Services を使用すると、注釈を使用してデータ モデルにボキャブラリを適用できます。 詳細については、投稿の「WCF Data Services のボキャブラリ」を参照してください。

* Entity Framework プロバイダーで現在サポートされていない OData の新機能。

次の追加の機能は、このリリースの WCF Data Services によって提供されます。

  • DbContext 用の Entity Framework プロバイダーのサポート
    WCF Data Services では、ObjectContext を継承するクラスと同様に、DbContext を継承するクラスを Entity Framework プロバイダーのデータ ソースとして使用できるようになりました。 DbContext は、Entity Framework 4.1 で導入された新しい Code First クラスで、ObjectContext に代わるものです。 以前のバージョンでは、DbContext オブジェクトをデータ ソースとして使用できるようにするには、問題を回避する必要がありました。

  • 応答に含まれるリレーションシップ リンク
    OData プロトコルでは、エンティティ間のリレーションシップに対応するため、URI の $links 演算子を使用してメソッドを定義します。 WCF Data Services は、データ サービスが応答のエントリ要素にこれらのリンクを含めることを要求することができます。 この動作は、IncludeRelationshipLinksInResponse の構成プロパティによって制御されます。 詳細については、「データ サービスの構成 (WCF Data Services)」を参照してください。

    .NET Framework クライアント ライブラリは、関連エンティティが応答に存在する場合、アドレス指定する URI を構築するときにリレーションシップ リンクを使用します。

  • 派生型のナビゲーション プロパティ
    このリリースでは、WCF Data Services で派生型のナビゲーション プロパティを定義する機能をサポートしています。 以前のリリースでは、定義できるのは基本型のナビゲーション プロパティのみでした。

  • 異なるベース URI とエンティティ セットのサポート
    OData プロトコルでは、データ サービスは、エンティティ セットを異なるベース URI を持つコレクションとして公開できます。 以前は .NET Framework クライアントでは、すべてのエンティティ セットは DataServiceContext で定義された同じベース URI を共有していると仮定していました。 今は、ベース URI を共有しないエンティティ セットの URI を解決するコンテキストによって使用されるデリゲートを定義できます。 詳細については、「データ サービス コンテキストの管理 (WCF Data Services)」を参照してください。

関連項目

概念

データ サービスのバージョン管理 (WCF Data Services)

WCF Data Services の概要

その他の技術情報

WCF Data Services を使用した作業の開始