内容摘要:LINQ是Language Integrated Query的缩写,翻译成汉语就是语言集成查询。LINQ是一套简化和统一数据访问的实现方法。LINQ并不是要求你使用一种特定的架构,它使一些现有访问数据架构的实现更加便利。和使用其他工具一样,LINQ也存在好和坏两个方面。要从LINQ中得到最好的东西,就需要对它有所精通。
为什么需要LINQ?
面向对象的编程语言已经成为企业应用开发的重要工具,ADO.NET对关系数据提供了一种方便的接口,但还不是一种面向对象的方法。例如,下面的伪代码:
User u = new User(); //代表user表的一个User类
u.LoginName = "net_lover" //设置一个LoginName标识
u.Load(); .//加载用户信息
u.Title = "【孟子E章】"; //将Title修改为【孟子E章】
u.Update(); //将修改的数据更新到数据库
这段伪代码说明了管理数据的一种面向对象的方法,对开发人员来说,看不到查询或SQL语句。你只需关心的只是做什么,而无需关心怎么做。这种将面向对象和关系数据结合在一起的方法叫做对象关系映射(ORM)模型,这样的方法简化了枯燥的数据操作,简洁明了。
关于ORM,在Java世界里有很多框架,但在.NET Framework里还比较少,NHibernate就是Microsoft .NET平台下ORM的实现,它的目的是将开发人员从大量的关系数据持久化相关的编程中解放出来。目前,NHibernate的稳定版本是NHibernate 1.2.1,于2007年11月份发布,加入了Hibernate 3中的更多功能,并且支持 .NET 2.0,存储过程,泛型和可为空类型。NHibernate 2.0目前正在开发中。毕竟NHibernate属于开源的代码,不是微软自己的东西,而且它处理的数据源也有限。VS 2005中NHibernate的插件下载地址:http://sourceforge.net/projects/nhibernateaddin。
尽管微软在Dynamics 3.0应用服务器中嵌入了ORM功能,并且在ADO.NET 3.0中将广泛支持此功能,但是还仍然没有将这种编程模型提供给.NET开发人员。ADO.NET中数据的操作采用的是Command或者DataAdapter对象来操作关系数据库,但需要自己写的代码很多,并且需要自己写SQL语句。
来源:Csdn博客 作者:孟宪会 责编:豆豆技术应用