C#如何使用LINQ查询数据(一)

来源:互联网 发布:电影院订票系统 php 编辑:程序博客网 时间:2024/05/21 06:48

在这篇文章中capucivar将介绍使用LINQ查询不同存储形式的数据的优势。
查询集合中的数据,实例中我们将查询字符串数组里索引为偶数的字符串,先来看看使用foreach查询集合。

使用foreach语句查询集合中的数据

  1. public void OldQuery()
  2. {
  3. string[] datasource = new string[10];
  4. for (int i = 0; i < 10; i++)
  5. {
  6. datasource = “A” + i.ToString().PadLeft(2, ’0′);
  7. }
  8. ArrayList results = new ArrayList();//动态创建数组,保存查询结果
  9. foreach (string s in datasource)
  10. {
    int index = Int32.Parse(s.Substring(1));//获取元素的序号
  11. if (index % 2 == 0)//查询序号为偶数的元素
  12. {
  13. results.Add(s);
  14. }
  15. }
  16. foreach (string s in results)
  17. {
  18. Response.Write(s+”<br />”);
  19. }
  20. }

使用LINQ查询集合中的数据

  1. public void LinqQuery()
  2. {
  3. string[] datasource = new string[10];
  4. for (int i = 0; i < 10; i++)
  5. {
  6. datasource = “A” + i.ToString().PadLeft(2, ’0′);
  7. }
  8. //创建查询,获取序号为偶数的的元素
  9. var results = from s in datasource
  10. let index = Int32.Parse(s.Substring(1))
  11. where index % 2 == 0
  12. select s;
  13. //输出结果
    foreach (string s in results) {
  14. Response.Write(s + “<br/>”);
  15. }
  16. }

比较:使用foreach语句在查询数据时,foreach语句查询代码相对繁琐。而使用LINQ查询数据,一个查询表达式即可实现查询和配置查询条件两个功能,代码量相对减少,比较简洁直观。特别当包含大量的查询条件时,使用LINQ查询的代码更加显得简洁直观。
查询结果:

查询数据库中的数据,这个实例我们使用pubs数据库中的jobs表来讲解。

  查询数据库中的数据传统方法往往是使用SQL语句或存储过程直接从数据库中查询数据。使用LINQ查询数据库中的数据时,首先为该数据库创建实体类,然后使用LINQ查询表达式查询表中的数据。

使用SQL语句查询数据库中的数据

在web.config文件中创建数据库连接:

  1. <connectionStrings>
  2. <add name=”DbConn” connectionString=”Data source=localhost;Initial Catalog=pubs;user id=sa;password=;” />
  3. </connectionStrings>

通过sql查询数据:

  1. public void SqlQuery()
  2. {
  3. string sql = “select * from jobs”;
  4. SqlConnection conn = new SqlConnection();
  5. conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DbConn"].ToString();
  6.   DataTable dt = new DataTable();
  7. SqlDataAdapter da = new SqlDataAdapter(sql, conn);
  8. da.Fill(dt);
  9. this.GridView1.DataSource = dt;
  10. this.GridView1.DataBind();
  11. }

使用LINQ查询数据库中的数据

使用Linq查询数据库表中的数据,首先需要创建一个dbml文件(LinqDB.dbml):

接下来在LinqDB.dbml文件中创建数据库连接。在服务器资源管理器中,数据连接节点上右键添加连接,出现如下图:

填写之后确定,然后展开数据库连接表的节点,将需要查询的标拖到右侧是设计视图中:

最后实现查询:

  1. public void LinqSqlQuery()
  2. {
  3. LinqDBDataContext db = new LinqDBDataContext();//创建pubs数据库的数据实例
    var results = from u in db.jobs
    select u;//创建查询,关于语法上篇文中有提到过
  4. this.GridView1.DataSource = results;
  5. this.GridView1.DataBind();
  6. }

结果如下图:

比较:使用LINQ查询数据库中的代码比较简介,而使用传统的ADO.NET方法查询数据库中的数据比较烦琐。

原创粉丝点击