- 1
- 0
- 约3.28万字
- 约 18页
- 2026-02-26 发布于江西
- 举报
第20章ASP.NET3.5与LINQ
对于长期发展的面向对象编程模型而言,其发展基本处于一个比较稳定的阶段,可是面向对象的
编程模型并没有解决数据的访问和整合的复杂问题。对于数据库的访问和XML的访问,面向对象方法
论无法从根本意义上解决其复杂度和难度,而LINQ提供了一种更好的解决方案。
20.1什么是LINQ
任何技术都不可能凭空搭建起来,为了解决工业生产生中某个实际问题,当现有的技术已经无法
很好的完成工业的要求,就会促发新技术的诞生。LINQ就是为了解决复杂的数据访问和整合而出现的
一种新技术。
20.1.1LINQ起源
从传统的意义上来说,面向过程的编程模型在数据访问和整合的能力上有一定的限度。因为面向
过程的编程方法不能很好的描述一个事务,必须通过不同函数之间的调用来描述一个现有的对象,而
且面向过程的编程方法在代码复用性上比较低,所以当面向过程的编程语言需要对数据库进行访问时,
就需要编写大量的额外代码。虽然面向过程的编程模型可以通过良好的函数引用和编码提高复用性,
但是并没有解决面向过程编程模型中对数据的访问和整合的复杂度。
随着计算机和编程模型的发展,人们发现了另一个更好的编程模型,这就是现在最常用的面向对
象编程模型。相比面向过程的编程模型而言,面向对象的编程模型能够更好的描述一个事务,事务能
够通过面向对象中的属性、字段和方法很好的模拟实际的事务,而面向对象编程模型中的派生、继承
等特性同样能够极大的提高代码的复用性,提升开发效率。
但是面向对象的编程模型同样没有解决复杂的数据库访问和数据整合,开发人员还是需要通过繁
琐的手段进行数据库的访问和数据整合。在.NET3.0框架或更早,LINQ就已经被提及,LINQ是一种
能够快速对大部分数据源进行访问和数据整合的一种技术,LINQ解决了复杂的数据应用中开发人员需
要面对和解决的问题。
虽然面向对象的数据库已经在几年前就被提及并且各大IT公司投入了对面向对象的数据库的研发,
但是传统的关系型数据库在当今还是应用最为广泛的。关系型数据库中将数据整合和呈现成为一张张
的表的形式,开发人员和数据库管理人员能够通过SQL管理工具提供的SQL语句进行数据的查询和整
理。但是在开发过程中,开发人员不能够像使用SQL语句一样对数据集进行查询和处理。任何数据库
中的数据都会以一种数据集的形式反馈给用户,这种数据集的形式可以反映成为数学中的集合的概念,
其实在数据库早期的发展中,数据是以集合的概念呈现的,而随着数据库的发展,集合的概念依旧是
数据库最基本的概念。
正式因为如此,开发人员不能够方便的是从一个集合中查询数据,这里不仅仅是一个数据库,还
包括其他能够以数据库形式存在的文件,例如ACCESS、TXT等,当在开发中需要使用到多个数据库
或者数据描述形式的文件时,更多的情况是将这些数据填充到数据集中并通过遍历来访问数据,这样
却造成了更多的数据访问问题和麻烦。
LINQ能够很方便的进行数据的查询,使用LINQ对数据集进行查询的形式很像使用SQL语句对
数据库中的表进行查询,而与之不同的是,LINQ能够面向更多的对象,这些对象包括数组、集合以及
数据库,LINQ对数组的查询示例代码如下所示。
staticvoidMain(string[]args)
{
string[]str={你好,今天的,天气真不错,生活很阳光};//创建数组
vars=fromninstrselectn;//编写查询字串
foreach(varnins)//遍历查询对象
{
Console.WriteLine(n.ToString());//输出对象
原创力文档

文档评论(0)