任意の数の SQL ベースのデータソースを照会し、データをデータテーブルとして返すプログラムがあります。クエリの名前と渡されるパラメーターによって、返されるデータの正確な構造が決まります。
この機能の一部を wcf web-api エンドポイント経由で公開しました。
知りたいのですが、データテーブルから行を poco として動的に返す odata エンドポイントになる方法はありますか?
何かのようなもの:
enter code here
[Queryable]
public IQuerable<dynamic> Get(string datasourceName, string view, string parametersAndValues)
{
var parameters = ApiControllerHelpers.GetNameValueCollectionFromString(parametersAndValues);
var ds = datasourceRepository.FindDatasourceByName(datasourceName);
var dataManager = ds.GetDataManager();
DataTable dataTable = dataManager.DataTableDataRepository.GetDataTable(parameters, view);
var dynamcicTable = dataTable.AsDynamicEnumerable();
return dynamcicTable;
}
このセットアップでは、シリアライゼーションなどについて不平を言う一連の WCF データ エラーが発生します。私の質問は、odata サポートのために、クラスを静的に型指定する必要があるのでしょうか?