关于网友提出的“NHibernate和linq的异同”问题疑问,本网通过在网上对“NHibernate和linq的异同”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:NHibernate和linq的异同描述:
今天面试有道试题问这两者的相同点和不通点,感觉自己答的不是太好,哪位大侠能给讲解下!
解决方案1:
应该是问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/
解决方案2:Linq是一种查询的技术。而NH则是一个ORM数据库框架。。没有可比性。。应该是是linq to sql或者EF才能比较
解决方案3:问题应该是LinqToSQL和NHibernate的区别
NHibernate支持多种数据库!
LinqToSQL只支持SQLServer
详细讨论可以看这里:http://space.cnblogs.com/group/topic/5734/
解决方案5:面试题都有问题,一个是ORM框架,一个是查询语言。有什么好比较的.......
解决方案6:没啥相同的,顶多也就是Linq To SQL和NHibernate一样实现了ORM功能.