問題:直到現在,我並不知道LINQ是一個ORM工具。我總是把它看作是一種新的SQL查詢語言。所以我最近開始使用nHibernate。
所以我的問題:
與nHibernate相比,LINQ的優點和缺點是什麼?
據我發現,不同之處在於LINQ需要.NET> 2.0(除非你破解它,這是不安全和非法的),而nHibernate與> = 2.0一起工作。
而對於LINQ,如果您不使用MS-SQL,您需要擁有供應商/第三方LINQ提供者dll。
我不知道哪個更快更容易,以及是否有nHibernate支持的所有數據庫的LINQ提供程序,以及LINQ如何與mono一起工作。LINQ與nHibernate
回答
Linq不是一個ORM工具。 Linq2Sql和Entity框架是使用Linq的Microsoft ORM工具。我發現this article比較NHibernate的實體框架4.0相當啓發。
總結:NHibernate早已建立和測試過,流利使用起來是一種樂趣。不幸的是,NHibernate在文檔部門中受到了影響,但它是操作系統,因此您可以深入瞭解代碼。 EF 1.0是可怕的,但4.0更好。這是一款MS產品,因此得到了大力宣傳,得到了支持,網絡上有很多例子。 4.0現在還在測試階段。
不管怎樣,永遠不要讀nHibernate文檔。 – 2010-03-02 11:31:51
LINQ不是一個ORM。 LINQ僅僅是一個查詢技術/庫,在C#和LINQ中有特殊的語法,NHibernate是互補的技術。甚至有L INQ2NHiernate。
LINQ2SQL是一個ORM。 就速度而言,除非您正在製作證券交易軟件或類似的東西,否則我不會太擔心,因爲毫秒是非常重要的。我相信即使StackOverflow在LINQ2SQL上運行,或者在某些時候,但我可能是錯的。
OK,所以使用LINQ我的意思是LINQ2SQL ;-)) 我看別的地方,他們是從LINQ切換到NHibernate的性能方面的原因。所以我不確定這不重要。 – 2010-03-02 11:27:53
Linq也適用於vb.net! – ScottE 2010-03-02 11:56:09
NHibernate有2個linq提供程序。它們支持所有的數據庫NHibernate的支持
記住LinqToSql真的LinqToMsSqlServer - 你,如果你走這條路線鎖定在...
- 1. NHibernate標準查詢與LINQ到NHibernate
- 2. LINQ查詢與NHibernate的
- 3. IsInitialized不能與NHibernate的LINQ
- 4. NHibernate與linq分頁性能
- 5. ICriteria和Linq與NHibernate一起
- 6. nhibernate Linq
- 7. nHibernate Linq Projection
- 8. NHibernate Linq查詢
- 9. Nhibernate 3&LINQ
- 10. NHibernate Linq和DistinctRootEntity
- 11. LINQ to NHibernate - 比較guid與字符串
- 12. 查詢NHibernate的屬性與LINQ
- 13. NHibernate 3.2 Linq與相關的子查詢
- 14. 通用NHibernate Linq的選擇與func
- 15. NHibernate 3.1 Linq與包含和任何
- 16. 如何使用nhibernate與nhibernate的ToFuture查詢linq
- 17. Linq到NHibernate問題
- 18. NHibernate的LINQ基礎
- 19. Linq to NHibernate vs. ICriteria
- 20. NHibernate AsQueryable LINQ模擬
- 21. Linq to NHibernate + transformations + futures
- 22. Nhibernate Linq在條款
- 23. Linq到Nhibernate錯誤
- 24. LINQ到Nhibernate計數
- 25. FLuent nHibernate Linq查詢
- 26. nhibernate左連接linq
- 27. Get Max row(Linq,NHibernate)
- 28. Linq到NHibernate和組
- 29. NHibernate左連接LINQ
- 30. NHIbernate Linq group by count
只是爲了澄清,LINQ是淨3框架的一部分。 – 2010-03-02 11:12:32
好的,你忙於查詢語言「Linq」和ORM的「Linq to SQL」。您可以使用LINQ查詢NHibernate的,如果你選擇... – Murph 2010-03-02 11:21:51
我想我會留下來與NHibernate。 – 2010-03-02 11:30:44