2013-05-01 8 views
5

Webサービス(Web APIベース)にODataを使用することを考えています。残念ながら、私のデータソースはIQueryableではありません。私自身のIQueryableを実装する代わりに、私はほとんどthis blog postに従った。OData with IQueryable

エンティティデータモデル(EDM)を取得する方法が分かりません。デザイナーなどでEDMをモデリングする必要がありますか?または、これはEFのみのためのもので、代わりに「プレーン」クラスを使用してリレーション属性を設定できますか?私は内部データ構造を公開したくないので、私のEDMはDTOのよ​​うなものです...

example私は、OData準拠のHTTPを取得するためにEntitySetControllerから派生するはずです応答。私はIQueryableをサポートしていないので、EntitySetControllerを使用することはできないと信じています。とにかく適切な応答を得るために私は何をすべきですか?

答えて

4

自分でEDMモデルを作成できます。 ODataConventionModelBuilderクラスを使用して、EDMモデルを構築できます。このtutorialにはいくつかのサンプルコードがあります。 また、ODataのサンプルをhere、特にODataServiceSampleとODataCompositeKeySampleからチェックアウトします。彼らはあなたを始めなければなりません。

また、IQueryableがない場合、EntitySetControllerの代わりにODataControllerから派生できます。