2010-03-12 40 views
20

想知道大家對SQL Azure使用什麼ORM有什麼想法?要與SQL Azure一起使用哪個ORM?

我很習慣使用LINQ to SQL,我相信可以讓它與SQL Azure一起工作。但是,從我的理解(糾正我,如果我錯了),在.NET框架的未來版本中將不會對Linq-to-SQL做進一步的改進嗎?

另外,還有實體框架...和微軟陣營的另一個領域是NHibernate。

理想情況下,任何其他建議應該是免費或開源的。我看過Telerik's ORM,但這當然是商業產品。

我可以通過Google搜索獲得每個ORM的定義/好處,但我只是對人們的意見感興趣,看哪些ORM似乎對他們最有效(即使它不是上述任何一種)

+0

請避免躲在垃圾鏈接在您的文章閱讀。 – Matt

回答

5

我們現在在Azure上使用NHibernate,並且發現它很不錯。

因爲我們使用s#arp architecture來提供NHibernate和依賴注入的大部分管道代碼,所以我們已經設法讓項目在很好的基礎上快速啓動。所有人都告訴我這很容易,但是當你第一次開始的時候,NHibernate可能會有一些陡峭的學習曲線。

我不確定您是否瞭解Fluent NHibnerate - http://fluentnhibernate.org - 但它是一款出色的工具,可自動將您的業務對象映射到您的數據庫中。它當然可以根據您需要的任何行爲進行定製。

1

查看NHibernate。現在可能是最重要的。

否則一個很好的資源總是http://www.ormbattle.net/

+1

這只是一個很大的'DataObjects.Net'廣告。 :) –

+0

爲什麼它值得Lokad.Translate是一個謙虛的應用程序構建與NHibernate的Azure,請參閱http://code.google.com/p/lokad-translate/ –

1

我使用LINQ到SQL與我的SQL Azure數據庫。我在我的類和數據庫表之間有一個簡單的一對一模型,因此它是最簡單的解決方案,並且可以正常工作(拋開一些SQL Azure故障)。

Entity Framework vs LINQ to SQL問題會爲您解答。

6

DataObjects.Net支持SQL Azure。它在GPL下可用(但不是LGPL) - 即如果GPL對您來說太嚴格,您必須獲得商業許可證)。

+0

我以前沒有遇到過這個,非常感謝爲了頭! –

1

我一直在使用實體框架1.0相當成功,我很確定4.0會更好,特別是它支持POCO(所以你從一開始就從上下文相關的對象中解放出來)。無論哪種版本,一旦你掌握了LINQ的支持,LINQ支持確實會產生巨大的影響。

但我要說的是,你應該把任何ORM的只是一種選擇 - 如果你設置你的數據訪問層使用的工作和庫模式的單位,然後用你喜歡的控制容器的反轉註入特定implentation ,那麼你可以創造更多的工作機會,但更長遠的自由度。誰真的關心數據在哪裏,或者你是如何得到它的,這是你用它做的計數

這就是我認爲...

託比

+1

同意4.0比1.0的框架更好 - 可悲的是,它不是「更好」,而是「特有的愚蠢」,而不是「有史以來最糟糕的框架」。請在喜歡Enttiy框架之前先看看GOOD ORM的功能。你錯過了這個世界。 – TomTom

1

傑米,

像託比我一直在使用與成功的EF。我強烈推薦它。請注意,當我發佈這個時,我不得不從我們的模式的本地版本生成模型。這不是一個出價交易,但值得一提。預計這將在未來發生變化。

伊恩

相關問題