学习Linq经验总结

  Linq有很多值得学习的地方,这里我们主要介绍学习Linq,包括介绍Linq目标是实现语言与数据的深度结合等方面。

  上一个系列讲了C#3.0的新特性,为学习Linq做好了铺垫;接下来的一段时间转入学习Linq,上述新特性也会在介绍的过程中提及到。

  学习Linq

  在我们的软件中,数据的重要性不可言喻,特别是象ERP,CRM等等这类商业应用软件就是围绕着数据转;然而数据的来源各种各样,如存放在内存中的业务对象、存放在xml文件的数据、SqlServer关系数据库...这些数据源的读取操作各不相同,相互之间的转换也不是那么容易;为此VS.NET提供了各种技术来支持这些数据源的操作,如操作数据库的ADO.NET,操作xml文件的API(XmlDocument, XmlReader, XPathNavigator等),以及一些存放在内存中的数据的操作(数组,参数变量,类,泛型等等);如今在C#3.0中提供了一种新技术来整合处理各种数据操作的问题,这就是Linq;

  Linq目标是实现语言与数据的深度结合,Linq以统一的数据访问方式访问各种数据源,以相同的方式读取数据,象SQL语句一样进行查询,而这些都是整合在我们熟悉的编程语言如C#,VB当中,另外Linq是使用强类型,并提供编译时检查和VS的智能感知特性等。

  下面我们以SQLServer为数据源,列举一段代码分析一下:

   1. // ADO.NET中我们会用它提供的SqlConnection, SqlCommand, 
SqlDataAdapter,SqlReader, DataSet, 和 DataTable等来访问操作数据库 ;
2. //使用SqlDataAdapter填充DataSet
3. using (SqlConnection conn = new SqlConnection(""))
4. {
5. DataSet ds = new DataSet();
6. SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Customers", conn);
7. da.Fill(ds);
8. }
9. //使用SqlDataReader读取数据
10. using (SqlConnection connection = new SqlConnection(""))
11. {
12.
13. connection.Open();
14. SqlCommand command = connection.CreateCommand();
15. command.CommandText =
     @"
SELECT Name, Country FROM Customers WHERE City = @City";
16. command.Parameters.AddWithValue("@City", "Paris");
17.
18. using (SqlDataReader reader = command.ExecuteReader())
19. {
20. while (reader.Read())
21. {
22. string name = reader.GetString(0);
23. string country = reader.GetString(1);
24.
25. }
26. }
27. }

NET技术学习Linq经验总结,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。