0

用語が間違っていたら申し訳ありませんが、IQueryable を公開したいのですが、Azure テーブル エンティティ オブジェクトをエンド ユーザーに直接公開したくありません。

IQueryable<TableEntity> を に変換するにはどうすればよいですかIQueryable<Object>

このブログで説明されているように、oData ロジックをベースにしています。より良い方法がある場合は共有してください。

http://blogs.southworks.net/fboerr/2010/07/29/create-a-wcf-data-service-odata-to-share-an-azure-table/

4

1 に答える 1

1

WCF Data Servicesは、 ReflectionProviderを使用して任意のオブジェクトを公開できます。TableServiceEntityから継承してクラスを作成する代わりに、必要なプロパティだけを使用してプレーンな古いC#クラスを作成できます。クエリメソッドに.Select()ステートメントを追加して、サービスクラスの代わりにPOCOクラスを作成します。

ステップバイステップガイドについては、「方法:リフレクションプロバイダー(WCFデータサービス)を使用してデータサービスを作成する」も確認できます。

一方、TableServiceEntityは、基になる列と正確に一致する必要はありません。より少ない列でエンティティを作成し、Selectステートメントでこれらを返すことができます

于 2011-02-25T12:01:43.623 に答える