從我個人的研究來看,OData的實現似乎廣泛地依賴於MS Entity框架。似乎可以使用開放的ORM來實現OData生成器協議,例如C#中的NHibernate或Java中的Hibernate。是否可以使用OData公開來自Oracle的數據?
在最好的世界中,使用Oracle的OData協議公開數據會很酷。我對其他開放式解決方案如Java,JRuby等開放。
預先感謝您的時間。
從我個人的研究來看,OData的實現似乎廣泛地依賴於MS Entity框架。似乎可以使用開放的ORM來實現OData生成器協議,例如C#中的NHibernate或Java中的Hibernate。是否可以使用OData公開來自Oracle的數據?
在最好的世界中,使用Oracle的OData協議公開數據會很酷。我對其他開放式解決方案如Java,JRuby等開放。
預先感謝您的時間。
實際上,實體框架只是其中一個提供者(儘管最簡單的一個)。你絕對可以使用NHibernate,我看到很多人都這樣做。仍然有一些黑暗的角落,但大多數情況下,這工作得很好。 您也可以編寫自己的提供程序(雖然這很麻煩),因此請參閱OData Provider Toolkist http://www.odata.org/developers/odata-sdk。上週,Oracle還宣佈他們將發佈一個Oracle實體框架的官方供應商,因此使用該供應商可以使用EF作爲OData提供商。
實體框架只是暴露OData的一種解決方案。這個解決方案的優點是它是最簡單的。
好消息是實體框架與Oracle協同工作。 Vitek Karas寫道,甲骨文將在今年年底前支持實體框架。但你不必等。其他提供者存在。例如,請參閱Devart和Data Direct的產品。
嘗試使用面向基於POCO的OData的「反射提供程序」。將此圖映射到任何支持LINQ的ORM很容易 - 爲此,我假設您可以將DbLinq用於您的LINQ-to-Oracle層。
本文給出了一個例子:
在我自己的調查結果我甚至沒有使用屬性標記,但它似乎有幫助這樣做。
正如其他地方所提及的,您也可以編寫一個完整的自定義提供程序,但由於存在反射提供程序,這似乎是不必要的工作。希望能幫助到你!
這裏有一個教程:WCF Data Services and OData for Oracle Database.
的先決條件第5步有一個鏈接來下載文件。
「看起來OData實現廣泛依賴MS實體框架」。鑑於OData的出處,這並不奇怪。 – APC 2010-06-17 21:31:24