我正在考虑将OData用于我的Web服务(基于Web API)。不幸的是,我的数据源不可查询。我没有实现自己的IQueryable,而是遵循了this blog post

我不了解如何进入实体数据模型(EDM)?我是否必须在Designer中为EDM建模?还是这仅适用于EF,而我可以改用“普通”类并设置关联属性?我不想公开我的内部数据结构,因此我的EDM更像是DTO。

example中,我已经看到我应该从EntitySetController派生,以获得兼容OData的HTTP响应。我相信我不能使用EntitySetController,因为我不支持IQueryable。我应该怎么做才能获得正确的答复?

最佳答案

您可以自己构建EDM模型。您可以使用ODataConventionModelBuilder类来构建您的EDM模型。此tutorial具有一些示例代码。
另外,从here check out OData上的样本,尤其是ODataServiceSample和ODataCompositeKeySample。他们应该帮助您入门。

另外,如果您没有IQueryable,则可以从ODataController而不是EntitySetController派生。

10-08 06:57