Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq 林克vs.恩希伯内特_Linq_Nhibernate_Orm - Fatal编程技术网

Linq 林克vs.恩希伯内特

Linq 林克vs.恩希伯内特,linq,nhibernate,orm,Linq,Nhibernate,Orm,问题:直到现在,我还不知道LINQ是一个ORM工具。我一直认为它是一种新的SQL查询语言。所以我最近开始使用nHibernate。 所以我的问题是: 与nHibernate相比,LINQ的优点和缺点是什么? 据我所知,区别在于LINQ需要.NET>2.0(除非你破解它,这是不安全和非法的),而nHibernate需要>=2.0。 对于LINQ,如果不使用MS-SQL,则需要有供应商/第三方LINQ提供程序dll。 我特别不知道的是哪一个更快/更容易,是否有nHibernate支持的所有

问题:直到现在,我还不知道LINQ是一个ORM工具。我一直认为它是一种新的SQL查询语言。所以我最近开始使用nHibernate。

所以我的问题是:
与nHibernate相比,LINQ的优点和缺点是什么?

据我所知,区别在于LINQ需要.NET>2.0(除非你破解它,这是不安全和非法的),而nHibernate需要>=2.0。
对于LINQ,如果不使用MS-SQL,则需要有供应商/第三方LINQ提供程序dll。

我特别不知道的是哪一个更快/更容易,是否有nHibernate支持的所有数据库的LINQ提供程序,以及LINQ与mono的配合情况。

LINQ不是ORM。LINQ只是一种查询技术/库,在C#中具有特殊语法,LINQ和NHibernate是互补技术。甚至还有我

LINQ2SQL是一种ORM。
关于速度,我不会太担心它,除非你正在制作股票交易软件或类似的东西,毫秒是绝对关键的。我相信甚至StackOverflow都在LINQ2SQL上运行,或者在某个时候运行过,但我可能错了。

Linq不是ORM工具。Linq2Sql和实体框架是使用Linq的Microsoft ORM工具。我发现将NHibernate与实体框架4,0进行比较非常有启发性

总而言之:NHibernate是一款久经考验的产品,使用起来非常流畅。不幸的是,NHibernate在文档部门工作,但它是一个操作系统,因此您可以深入研究代码。
EF1.0非常可怕,但4.0要好得多。这是一款MS产品,因此受到了广泛的宣传和支持,网络上也有很多例子。4.0目前仍然是beta版。

NHibernate有两个linq提供商。它们支持NHibernate支持的所有数据库

记住,LinqToSql实际上是LINQTOMSqlServer-如果你走这条路,你会被锁定…

只是澄清一下,LINQ是.Net 3框架的一部分。好吧,你正忙着混淆“LINQ”是查询语言和“LINQ to SQL”是ORM。如果您愿意,您可以使用Linq查询NHibernate……我想我会继续使用NHibernate我在其他地方读到,出于性能原因,他们正在从LINQ切换到nHibernate。所以我不确定这是否重要。