首页 新闻 会员 周边

NHibernate和linq的异同

0
悬赏园豆:50 [已解决问题] 解决于 2010-08-31 21:23

今天面试有道试题问这两者的相同点和不通点,感觉自己答的不是太好,哪位大侠能给讲解下!

aixuexi的主页 aixuexi | 菜鸟二级 | 园豆:210
提问于:2010-08-30 17:16
< >
分享
最佳答案
0

应该是问NHibernate和EF或者LINQ TO SQL的异同吧?

NHibernate是ORM,是把Java的Hibernate核心部分移植到Microsoft .NET Framework上。它是一个对象关系映射工具,其目标是把.NET对象持久化到关系数据库。

LINQ是一种技术,可以对数据进行查询,可以对XML,Object,DataSet,SQL,进行查询,以下是MSDN的定义

语言集成查询 (LINQ) 是一组技术的名称,这些技术建立在将查询功能直接集成到 C# 语言(以及 Visual Basic 和可能的任何其他 .NET 语言)的基础上。借助于 LINQ,查询现在已是高级语言构造,就如同类、方法、事件等等。

而LINQ TO SQL则是ORM,实现和NHibernate类似的功能,实现对象关系映射,不过没有NHibernate强大,只能支持SQL Server

EF的话是微软开发的ORM框架,有关EF和NH的比较可以看看这篇文章:http://news.cnblogs.com/n/55025/

收获园豆:50
kyo-yo | 大侠五级 |园豆:5587 | 2010-08-30 17:29
其他回答(5)
0

没啥相同的,顶多也就是Linq To SQL和NHibernate一样实现了ORM功能.

Launcher | 园豆:45045 (高人七级) | 2010-08-30 17:22
0

面试题都有问题,一个是ORM框架,一个是查询语言。有什么好比较的.......

李永京 | 园豆:3114 (老鸟四级) | 2010-08-30 17:36
0

详细讨论可以看这里:http://space.cnblogs.com/group/topic/5734/

Astar | 园豆:40805 (高人七级) | 2010-08-30 17:51
顶 呵呵
支持(0) 反对(0) 慧☆星 | 园豆:5640 (大侠五级) | 2010-08-30 17:54
0

问题应该是LinqToSQL和NHibernate的区别

NHibernate支持多种数据库!

LinqToSQL只支持SQLServer

编程浪子_ | 园豆:348 (菜鸟二级) | 2010-08-30 23:50
0

Linq是一种查询的技术。而NH则是一个ORM数据库框架。。没有可比性。。应该是是linq to sql或者EF才能比较

HIT上帝视角 | 园豆:75 (初学一级) | 2010-08-31 09:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册