【发布时间】:2013-07-30 14:17:28
【问题描述】:
我们正准备创建一个项目,希望通过 OData 和 Soap 向公众公开数据(让我们 API 的用户选择他们想要使用的格式)。我知道 Web API 允许您公开一个以 IQueryable 作为返回类型的公共操作方法,然后该 T 值可以从 OData 查询。问题是我们的 Web 服务器位于 DMZ 中,无法直接访问实体框架,因此无法直接访问 IQueryable。通过 WCF 访问内部网络。
有没有办法从 OData 调用接收值,并通过参数将这些值代理到内部网络?我一直在网上搜索,到目前为止,还没有发现任何有用的东西。我在想我只是直接获取查询字符串,将其传递到内部网络,然后使用 PredicateBuilder 之类的东西创建一个 EF 表达式树,然后返回数据。这会起作用,但我想知道是否有更好的方法。
提前致谢!
【问题讨论】:
标签: wcf entity-framework odata