应该是问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/
没啥相同的,顶多也就是Linq To SQL和NHibernate一样实现了ORM功能.
面试题都有问题,一个是ORM框架,一个是查询语言。有什么好比较的.......
问题应该是LinqToSQL和NHibernate的区别
NHibernate支持多种数据库!
LinqToSQL只支持SQLServer
Linq是一种查询的技术。而NH则是一个ORM数据库框架。。没有可比性。。应该是是linq to sql或者EF才能比较