LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。类似于SQL。
从技术角度而言,LINQ定义了大约40个查询操作符,如select、from、in、where以及order by(C#中)。使用这些操作符可以编写查询语句。不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的LINQ类型。
LINQ TO SQL是LINQ技术在数据库方面的应用。数据库技术从OLEDB,ODBC到ADO,在到ADO.NET到现在的LINQ TO SQL,让程序员操作数据库越来越简单。 LINQ 的宗旨就是让查询无处不再,这当然要包括对数据库的查询。LINQ不仅仅可以对数据库进行查询,同样CUID(Create,Update,Insert,Delete)都可以实现,而且非常方便。
一 LINQ中的增删改查:
下面逐一对查询以及增删改方面进行介绍:
1 创建
要想查询数据库中表的数据,就要先建立对数据库表的映射,就像要想使用ADO.NET就需要先把数据库中的数据存到DataSet中,代码如下:
以上就是对数据表的一个映射。建立好对表的映射之后,就可以对其进行相应的操作了。
2 查询
下面是查询代码:(使用select进行查询)
以上就是对数据库的查询,我们可以写出很复杂的查询来,其实在内部,LINQ会把你写的LINQ语句,转换成SQL语句送到数据库中去执行。然后返回相应的结果。如果大家想看转换后的SQL语句,可以在建立完连接之后加上这样一句:db.Log=Console.Out。这样程序将自动输出SQL语句和查询结果。
3 更改
以下是更改例子:
上述代码中通过Add()来进行添加。
4 删除
通过Remove()来进行删除:
二 LINQ与XML
关于XML,W3C有一套DOM模型,C#语言有一套在DOM模型下操作XML的类库。但是在LINQ出现以后,微软又重新做了一套关于XML的模型,而且操作起来同那套DOM模型没什么两样,但是更加的简单。
下面用代码是一个用LINQ模型操作XML的示例:
可以看出LINQ模型的简单性。我们还可以从LINQ模型上看出XElement的重要性。使用XElement不仅可以从头创建xml文件,还可以使用Load的方法从文件加载。还可以从数据库中取出所需元素,这就要用到LINQ TO SQL的东西了,同样可以从数组中取出元素。操作完成后可以使用Save方法进行保存。
下面简单介绍一下对XML的增删查改:
1插入
2查询
我们看到在输出XML元素的时候并不需要对每个元素进行强制的类型转换,这里C#编译器已经做了这些事情,它会在输出的时候调用每个元素的ToString()方法。
3修改
当然同样可以使用SetElement方法,这里才是它的用武之地。
4删除
删除元素还可以使适用SetElement方法,把某一元素设置为null也就是删除了这元素。
从上面简单的介绍我们可以清楚的看到,使用LINQ操作XML是多么的简单,这也是它的一大优势。
三 LINQ中的常见函数
LINQ提供了很多函数操作,以下是常用的一些函数的列表:
先说明一下第二栏LAZY的意思。我们知道有一个术语叫:Lazy Evalution。就是说不到用的时候程序不对它进行求值。
正因为LINQ提供的这些操作使得它的功能非常强大,具体用法大家可以具体去查一查,在实际编程中去使用体会。关于LINQ就先介绍到这,下一篇博客将为大家讲解如何用C#开发WPF程序。