C#如何使用LINQ查询数据(一)
来源:互联网 发布:电影院订票系统 php 编辑:程序博客网 时间:2024/05/21 06:48
在这篇文章中capucivar将介绍使用LINQ查询不同存储形式的数据的优势。
查询集合中的数据,实例中我们将查询字符串数组里索引为偶数的字符串,先来看看使用foreach查询集合。
使用foreach语句查询集合中的数据
- public void OldQuery()
- {
- string[] datasource = new string[10];
- for (int i = 0; i < 10; i++)
- {
- datasource = “A” + i.ToString().PadLeft(2, ’0′);
- }
- ArrayList results = new ArrayList();//动态创建数组,保存查询结果
- foreach (string s in datasource)
- {
int index = Int32.Parse(s.Substring(1));//获取元素的序号 - if (index % 2 == 0)//查询序号为偶数的元素
- {
- results.Add(s);
- }
- }
- foreach (string s in results)
- {
- Response.Write(s+”<br />”);
- }
- }
使用LINQ查询集合中的数据
- public void LinqQuery()
- {
- string[] datasource = new string[10];
- for (int i = 0; i < 10; i++)
- {
- datasource = “A” + i.ToString().PadLeft(2, ’0′);
- }
- //创建查询,获取序号为偶数的的元素
- var results = from s in datasource
- let index = Int32.Parse(s.Substring(1))
- where index % 2 == 0
- select s;
- //输出结果
foreach (string s in results) { - Response.Write(s + “<br/>”);
- }
- }
比较:使用foreach语句在查询数据时,foreach语句查询代码相对繁琐。而使用LINQ查询数据,一个查询表达式即可实现查询和配置查询条件两个功能,代码量相对减少,比较简洁直观。特别当包含大量的查询条件时,使用LINQ查询的代码更加显得简洁直观。
查询结果:
查询数据库中的数据,这个实例我们使用pubs数据库中的jobs表来讲解。
查询数据库中的数据传统方法往往是使用SQL语句或存储过程直接从数据库中查询数据。使用LINQ查询数据库中的数据时,首先为该数据库创建实体类,然后使用LINQ查询表达式查询表中的数据。
使用SQL语句查询数据库中的数据
在web.config文件中创建数据库连接:
- <connectionStrings>
- <add name=”DbConn” connectionString=”Data source=localhost;Initial Catalog=pubs;user id=sa;password=;” />
- </connectionStrings>
通过sql查询数据:
- public void SqlQuery()
- {
- string sql = “select * from jobs”;
- SqlConnection conn = new SqlConnection();
- conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DbConn"].ToString();
- DataTable dt = new DataTable();
- SqlDataAdapter da = new SqlDataAdapter(sql, conn);
- da.Fill(dt);
- this.GridView1.DataSource = dt;
- this.GridView1.DataBind();
- }
使用LINQ查询数据库中的数据
使用Linq查询数据库表中的数据,首先需要创建一个dbml文件(LinqDB.dbml):
接下来在LinqDB.dbml文件中创建数据库连接。在服务器资源管理器中,数据连接节点上右键添加连接,出现如下图:
填写之后确定,然后展开数据库连接表的节点,将需要查询的标拖到右侧是设计视图中:
最后实现查询:
- public void LinqSqlQuery()
- {
- LinqDBDataContext db = new LinqDBDataContext();//创建pubs数据库的数据实例
var results = from u in db.jobs
select u;//创建查询,关于语法上篇文中有提到过 - this.GridView1.DataSource = results;
- this.GridView1.DataBind();
- }
结果如下图:
比较:使用LINQ查询数据库中的代码比较简介,而使用传统的ADO.NET方法查询数据库中的数据比较烦琐。
- C#如何使用LINQ查询数据(一)
- C#基础之LINQ查询语句的简单使用(一)
- LINQ查询(一)
- Linq 查询 (一)
- Linq C# (一)
- C#使用Linq优化查询速度
- 使用LINQ to Entities查询:分组数据
- LINQ数据查询 Resharper插件使用
- C# LINQ详解(一)
- C# LINQ详解(一)
- C# LINQ中如何使用split
- C#标准查询运算(Linq)
- LINQ 查询表达式(C# 编程指南)
- c# LINQ查询语句
- C# LINQ查询
- C# LINQ查询 类
- unity c# LINQ查询
- C# Linq 集合作为查询条件获取数据
- 模板--模板元编程
- CSAPP第五章:优化程序性
- 纽约大学Courant数学研究所介绍
- Java 异常
- Android XML解析学习——方式比较
- C#如何使用LINQ查询数据(一)
- 读书笔记 Effective STL
- vmware converter无法迁移和无法打开vc桌面
- 满分通过科目二
- 【xenclient】 使用小结 -- 部署思路
- opencv绘制灰度直方图
- Javascript和CSS的奇淫巧技
- IE,FF浏览器下无法切换图片的问题
- 数组中逆序对统计方法