【问题标题】:Implementing OData with custom DAL使用自定义 DAL 实现 OData
【发布时间】:2013-08-28 10:57:27
【问题描述】:

我们有一个自定义(基于 .NET/SQL)的 DAL,并希望公开 OData 功能。

在第一个实例中,我们只对允许简单查询数据感兴趣,但稍后会希望允许更新,我想会有安全问题需要考虑。最终,我们正在研究“应用程序”并使用 JayData/Breeze 之类的工具来管理通信。

我们有一组丰富的元数据,允许我们将计算列附加到我们的数据源,然后可以从我们的 DAL 中检索这些列,就好像它们是数据库列一样。

我们根本不使用 EF。我们如何开始通过 OData 公开数据?我们在 DAL 上投入了大量资金,它完美地适用于我们所有基于 Windows 的应用程序。实现 IQueryable 听起来像是一项艰巨的任务。我们应该使用 WCF 服务还是 Web API?

这篇文章看起来是一个好的开始,我想我们也许可以获取 ODataQueryOptions 并将其重新解释为我们的 DAL 可以使用的东西。

http://blogs.msdn.com/b/webdev/archive/2013/02/25/translating-odata-queries-to-hql.aspx

虽然没有太多关于这方面的文档,但我不愿意在不检查没有我刚刚错过的更简单的替代方案的情况下开始。

【问题讨论】:

  • 您列出的示例是一个很好的起点,我想要更多的控制权,最终不得不编写自己的 ODataQueryOptions 版本来处理诸如 $inlinecount、$filter 和 $select 之类的事情。跨度>
  • 谢谢。您只是在解析原始 OData 查询吗?你在使用 WebAPI 吗?您使用了哪些参考文档?顺便说一句,我认为 WebAPI 中 OData 的最新版本处理了 $select 和 $filter,您可以在 ODataQueryOptions 中获取有用的信息 - 我只是缺乏 MSDN 相当缺乏的所有各种属性的良好资源。
  • 你可以看到我在这里做了什么 - MicroLite.Extensions.WebApi。我将对象名称和结构建立在 ASP.NET 的基础上,以便在它支持我需要的一切时可以换回它。我使用了您已经列出的网页中的详细信息和 codeplex 上的示例 NHibernate 提供程序来创建我的。

标签: wcf entity-framework asp.net-web-api odata


【解决方案1】:

您正在寻找这样的东西吗? http://msdn.microsoft.com/en-us/data/gg601461.aspx

最好的问候 分贝

【讨论】:

  • 我认为这需要IQueryable OP 已经声明他们没有。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-04
  • 2018-01-05
  • 2012-10-02
  • 2019-03-22
  • 1970-01-01
相关资源
最近更新 更多