2013-05-01 42 views
5

我正在考虑为我的Web服务(基于Web API)使用OData。不幸的是,我的数据源不是IQueryable。我几乎不遵循this blog post来实现我自己的IQueryable。没有IQueryable的OData

我不明白的是如何得到我的实体数据模型(EDM)?例如,在设计师中,我必须建立一个EDM模型吗?或者,这是只为EF,我可以使用“普通”类来代替并设置关系属性?我不希望暴露。所以我的内部数据结构我的EDM更像是DTO的......

example我已经看到了我应该从EntitySetController派生,以获得OData兼容HTTP响应。我相信我不能使用EntitySetController,因为我不支持IQueryable。无论如何,我应该怎么做才能得到适当的回应?

回答

4

您可以自己构建EDM模型。您可以使用ODataConventionModelBuilder类来构建您的EDM模型。这tutorial有一些示例代码。 另外,从here检出OData上的样本,尤其是ODataServiceSample和ODataCompositeKeySample。他们应该让你开始。

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

相关问题