在向大家详细介绍LINQ形式之前,首先让大家了解下很多开源组织和厂商给出了自己的O/R Mapping方案,然后全面介绍LINQ形式。
业务系统需要处理的是领域逻辑,适用的是业务实体对象,但信息服务层提供的仅仅是数据,而“数据!=对象”。面对巨大的开发需求,各开源组织和厂商纷纷给出了自己的答案,在。NET 3.5中微软也给出了自己的解——LINQ(Language Integrated Query)。
很多开源组织和厂商给出了自己的O/R Mapping方案,但没有一个像LINQ这么彻底的做到语言编译器层次,在Tech-ED(北京)大会上,LINQ会场上座无虚席,来自各个领域的开发人员和架构师聚集在一个关于LINQ的入门级别的Session中,希望跳出以往采用类似框架繁琐的配置之外,找到下一代项目实施的灵感。
随着数据概念本身的泛化,开发人员需要为对象系统映射的数据标的种类也林林总总,。NET 3.5中提供了5种LINQ形式:
◆LINQ to Objects:提供对各种集合类型的实体对象映射;
◆LINQ to DataSets:服务离线的内存数据库——DataSet;
◆LINQ to SQL:专用于SQL Server数据库;
◆LINQ to Entities:服务SQL Server之外的关系数据实体,并为其他数据库产品提供扩展;
◆LINQ to XML:适用于层次型XML数据;
为了满足LINQ需要,C# 3.0(Visual Basic 9)也作了较大调整,为了应对越来越复杂的对象系统,隐式类型化局部变量(Var)和匿名类被添加到语言之中。考虑到数据访问在众多应用中的基础地位以及LINQ的便利性,相信它会成为下一波,NET项目实施中的***。以上介绍LINQ形式。
【编辑推荐】