Nhibernate和Linq
Nhibernate vs Linq
LINQ
LINQ代表语言集成查询。基本上,LINQ在面向对象编程模型的上下文中解决了当前的数据库开发模型。但是,由于Linq不是一个完整的对象关系映射(ORM)工具,因此对LINQ的全面支持需要对所用语言进行一些扩展。这样的扩展提高了输出和效率,从而提供了更短,更有意义,更具表现力的语法来操纵数据。
LINQ是一种编程模型,它将查询作为一流的概念引入任何Microsoft.NET语言。换句话说,它被认为是主要与MS SQL Server一起使用的查询语言。许多人发现Linq在数据库需求不大的小型应用程序中非常有用。
NHibernate的
NHibernate是Microsoft.NET平台的开源对象关系映射或ORM解决方案。它的开发类似于Java的Hibernate库,它提供了与底层数据库之间进行.NET框架对象的服务。
它主要针对专注于域而不是数据库的开发人员。 NHibernate几乎可以应用于任何数据库管理系统(DBMS)。
缺点,没有intellisense,NHibernate有一个有限的查询语言。然而,对于可以映射到表结构的对象定义的种类,它是非常灵活的。 NHibernate提供了更多选项,因为人们可以在数据访问方面调整很多方面。这几乎是无限的。
摘要:
1.使用Linq,数据库已经存在,关系和一些编程将取决于数据库的定义方式。 与Linq不同,NHibernate是一个开源的。 3. Nhibernate是一个ORM工具,而Linq是一个不完整的ORM工具,因为它需要额外的扩展。 4. Linq主要是一种查询语言,而NHibernate的查询语言有限。 5. Linq在没有大量依赖数据库的小型应用程序中更有用。 6. NHibernate非常灵活,提供了更多选择。