2011-12-30 9 views
1

私はWCFデータサービスのサービスオペレーションを使用してオブジェクトを取得します。OData/WCFサービス操作 - URIによるプロパティアクセス?

[WebGet] 
    public IQueryable<sample> GetSamples(int Id) 

私は

http://localhost:xx/GetSamples?Id=9 

でデータを取得することができますが

http://localhost:xx/samples(x)/property 
私は http://localhost:xx/GetSamples?Id=9/propertyを試してみた

、およびhttp://localhost:xx/GetSamples/property?Id=9など何もない作品に似て、返されたオブジェクトのプロパティを取得することは可能です。

答えて

0

サンプルが複雑なタイプの場合、これは機能しません。 Sampleがエンティティタイプの場合、小さな変更で動作します。プロパティへのアクセスは、シングルトンの結果に対してのみ可能です。 WCF DSは、あなたのサービス操作が常に単一のエンティティを返すことを知らず、通知するために、属性SingleResultをサービス操作メソッドに追加します。次に、最初のURLが動作するはずです:service/GetSample/PropertyName?id = 2 サンプルがエンティティタイプで、キープロパティ値(または値)を知っている場合、service/Samples(keypropertyvalue)/ PropertyNameも機能するはずです。

+0

私のものはエンティティタイプです...素晴らしいです。ありがとう。 –

0

選択を使用するのはどうですか?

http://localhost:xx/GetSamples?Id=9&$select=property 
+0

は動作しません... –

関連する問題