用語が間違っていたら申し訳ありませんが、IQueryable を公開したいのですが、Azure テーブル エンティティ オブジェクトをエンド ユーザーに直接公開したくありません。
IQueryable<TableEntity>
を に変換するにはどうすればよいですかIQueryable<Object>
このブログで説明されているように、oData ロジックをベースにしています。より良い方法がある場合は共有してください。
用語が間違っていたら申し訳ありませんが、IQueryable を公開したいのですが、Azure テーブル エンティティ オブジェクトをエンド ユーザーに直接公開したくありません。
IQueryable<TableEntity>
を に変換するにはどうすればよいですかIQueryable<Object>
このブログで説明されているように、oData ロジックをベースにしています。より良い方法がある場合は共有してください。
WCF Data Servicesは、 ReflectionProviderを使用して任意のオブジェクトを公開できます。TableServiceEntityから継承してクラスを作成する代わりに、必要なプロパティだけを使用してプレーンな古いC#クラスを作成できます。クエリメソッドに.Select()ステートメントを追加して、サービスクラスの代わりにPOCOクラスを作成します。
ステップバイステップガイドについては、「方法:リフレクションプロバイダー(WCFデータサービス)を使用してデータサービスを作成する」も確認できます。
一方、TableServiceEntityは、基になる列と正確に一致する必要はありません。より少ない列でエンティティを作成し、Selectステートメントでこれらを返すことができます