【问题标题】:OData without IQueryable没有 IQueryable 的 OData
【发布时间】:2013-04-25 14:54:51
【问题描述】:

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

我不明白如何访问我的实体数据模型 (EDM)?例如,我是否必须在 Designer 中为 EDM 建模?或者这仅适用于 EF,我可以使用“普通”类并设置关系属性?我不想暴露我的内部数据结构,因此我的 EDM 更像是 DTO...

example 中,我看到我应该从 EntitySetController 派生以获得符合 OData 的 HTTP 响应。我相信我不能使用 EntitySetController,因为我不支持 IQueryable。无论如何,我应该怎么做才能得到正确的回应?

【问题讨论】:

    标签: asp.net-web-api odata ado.net-entity-data-model


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 2013-03-23
      • 2014-07-09
      • 1970-01-01
      • 2015-08-16
      • 2012-10-09
      • 2017-06-17
      相关资源
      最近更新 更多