我正在考虑将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
派生。