是否可以使用OData从Oracle公开数据?

时间:2010-06-17 16:43:50

标签: oracle odata

根据我的个人研究,OData实现似乎广泛依赖于MS Entity框架。使用C#中的NHibernate或Java中的Hibernate等开放式ORM来实现OData生成器协议似乎是可能的。

在最好的世界中,使用Oracle的OData协议公开数据会很酷。我对Java,JRuby等其他开放式解决方案持开放态度。

提前感谢您的时间。

4 个答案:

答案 0 :(得分:2)

这里有一个教程:WCF Data Services and OData for Oracle Database.

关于先决条件的第5步有一个下载文件的链接。

答案 1 :(得分:1)

实际上,实体框架只是其中一个提供者(尽管最容易开始)。你绝对可以使用NHibernate,我见过很多人这样做。仍然有一些黑暗的角落,但在大多数情况下,这工作得很好。 您也可以编写自己的提供程序(虽然这很多工作),为此,请参阅http://www.odata.org/developers/odata-sdk处的OData提供程序工具会。 上周,甲骨文还宣布将发布Entity Framework的官方Oracle提供商,因此使用它可以将EF用作OData提供商。

答案 2 :(得分:0)

实体框架只是暴露OData的一种解决方案。这个解决方案的优点是它是最简单的 好消息是Entity Framework与Oracle协同工作。正如Vitek Karas所写,Oracle将在今年年底之前支持实体框架。但你不必等待。存在其他提供者。例如,请参阅Devart和Data Direct的产品。

答案 3 :(得分:0)

尝试使用面向基于POCO的OData的“反射提供者”。可以很容易地将其映射到任何支持LINQ的ORM - 对于该步骤,我假设您可以将DbLinq用于LINQ-to-Oracle层。

本文举例说明:

http://blogs.msdn.com/b/alexj/archive/2010/06/11/tip-56-writing-an-odata-service-using-the-reflection-provider.aspx

在我自己的发现中,我甚至没有使用属性标记,尽管它似乎有帮助。

如其他地方所提到的,您也可以编写一个完整的自定义提供程序,但鉴于存在反射提供程序,这似乎是不必要的工作。希望它有所帮助!