3

根据我的个人研究,OData 实现似乎广泛依赖于 MS Entity 框架。似乎可以使用开放的 ORM 来实现 OData 生产者协议,例如 C# 中的 NHibernate 或 Java 中的 Hibernate。

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

在此先感谢您的时间。

4

4 回答 4

2

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

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

于 2012-04-04T18:28:31.357 回答
1

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

于 2010-06-17T22:13:22.103 回答
0

实体框架只是公开 OData 的一种解决方案。此解决方案的优点是它是最简单的解决方案。
好消息是 Entity Framework 可以与 Oracle 一起使用。正如 Vitek Karas 所写,甲骨文将在年底之前支持实体框架。但您不必等待。存在其他提供者。例如,参见 Devart 和 Data Direct 的产品。

于 2010-06-18T10:08:57.457 回答
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

在我自己的发现中,我什至没有使用属性标记,尽管这样做似乎很有帮助。

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

于 2010-06-28T05:16:13.367 回答