您的位置:首页 > 编程语言 > C#

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

2012-03-03 18:41 531 查看
在这篇文章中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方法查询数据库中的数据比较烦琐。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐