1

我有一个程序可以查询任意数量的基于 sql 的数据源并将数据作为数据表返回。查询的名称和传递的参数决定了返回数据的确切结构。

我现在已经通过 wcf web-api 端点公开了其中的一些功能。

我想知道,有没有一种方法可以作为 odata 端点,将数据表中的行作为 poco 动态返回?

就像是:

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 支持,我的类是否必须是静态类型的?

4

0 回答 0