问题:直到现在,我并不知道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