Linq初级班 Linq to DataSet体验(单表、多表联合查询JOIN语法)

简介:

Linq初级班 Linq To DataSet体验

DataSet是包含内部数据表的对象,在这些内部数据表中,数据是临时存储并且可以被应用程序所使用.从本质上讲,DataSet是数据在本地内容中的缓存,且数据一般是从数据库中得到,这个缓存让我们可以在连接断开的模式下对DataSet中的数据进行更新,跟踪这些变化,并在应用程序重新连接时间这些变更保存到数据库中.

DataSet本身非常灵活且强大.它为应用程序提供了有效地使用数据库中的数据子集以及根据应用程序需要操作数据的能力,而且所有这些都可以在断开连接的状态下进行,然后再将变更回馈数据库.虽然DataSet具有这么多的灵活性,但是在查询的方法上却很欠缺.而LINQ to DataSet为开发人员提供了一整套查询能力,本文将讲解如何使用它进行DataSet查询,目录如下:

目录

1.单表查询

2.多表查询

1.单表查询

为了大家拿到代码好测试,我就不从数据库来获取数据了,直接用代码加载测试数据了.下面的示例演示用LINQ to DataSet筛选出所有的RoleId等于2的User:

方法语法:

代码

查询语法:

复制代码
var query  =  from u  in  ds.Tables[ " User " ].AsEnumerable()
where  u.Field < int > ( " RoleId " ==   2
select 
new
{
Id 
=  u.Field < int > ( " Id " ),
Name 
=  u.Field < string > ( " Name " ),
RoleId 
=  u.Field < int > ( " RoleId " )
};
复制代码

运行结果:

2.多表查询

下面的示例是通过User表中的RoleId字段联接到Role表,并且查询出所有的普通用户来:

方法语法:

代码

查询方法:

复制代码
var query  =  (from u  in  ds.Tables[ " User " ].AsEnumerable()
join r 
in  ds.Tables[ " Role " ].AsEnumerable()
on u.Field
< int > ( " RoleId " ) equals r.Field < int > ( " Id " )
select 
new  
{
Id 
=  u.Field < int > ( " Id " ),
Name 
=  u.Field < string > ( " Name " ),
RoleId 
=  r.Field < int > ( " Id " ),
RoleName 
=  r.Field < string > ( " Name " )
}).Where(q 
=>  q.RoleId  ==   2 );
复制代码

运行结果:

小结:

使用LINQ to DataSet可以轻松的在DataSet的表间做查询,使用Lambda表达式,开发人员能更直观的清晰的组织查询语句,从而实现对DataSet的轻松查询.目前我正在自学LINQ,在此把自己的学习成果分享一下,仅提供给初学者作为参考用,如果有错误的地方请高手指出,我尽快改正~~




本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2011/01/01/1923758.html,如需转载请自行联系原作者

相关文章
|
8月前
|
关系型数据库 MySQL 数据管理
MySQL查询语言:从SELECT到多表查询
本文深入探讨了MySQL查询语言的核心要素,涵盖了SELECT语句的详解、WHERE子句与逻辑操作符、ORDER BY子句与排序、聚合函数与GROUP BY子句,以及JOIN操作与多表查询。通过详细介绍每个部分的用法和示例,读者可以轻松掌握在MySQL中进行数据查询和分析的关键技能。了解SELECT语句的构造,以及如何使用WHERE子句和逻辑操作符筛选数据,能够使读者更有效地提取所需信息。此外,通过掌握ORDER BY子句进行排序和使用聚合函数进行数据汇总,读者将能够在查询结果中获得更有价值的信息。最后,本文还介绍了JOIN操作,使读者能够从多个数据表中联合数据,实现更复杂的查询需求
65 0
|
5月前
|
SQL
SQL数据查询——单表查询和排序
SQL数据查询——单表查询和排序
61 0
|
9月前
|
SQL 关系型数据库 数据库
10个高级SQL写法,包括窗口函数、联合查询、交叉查询、递归查询
10个高级SQL写法,包括窗口函数、联合查询、交叉查询、递归查询
167 1
|
SQL 数据库
SQL 多表联合查询的几种方式
SQL 多表联合查询的几种方式
SQL 多表联合查询的几种方式
基础DQL(数据查询)——条件查询
基础DQL(数据查询)——条件查询
89 0
基础DQL(数据查询)——条件查询
|
关系型数据库 MySQL 数据库
mysql数据库多表各种join用法
mysql数据库多表各种join用法
127 0
|
存储 SQL 小程序
小程序中的多表联合查询
小程序中的多表联合查询
小程序中的多表联合查询
|
JavaScript 前端开发 PHP
ThinkPHP多表联合查询以及自带分页类用法
ThinkPHP多表联合查询以及自带分页类用法
253 0
|
SQL Java 数据库连接
JPA的多表复杂查询
JPA的多表复杂查询
237 0
|
SQL .NET 数据库
ALinq 入门学习(六)--Join 连接查询
简单介绍一下连接查询:通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。from join_table1 join_type join_table2 on Join_condition  这个是SQL 中最简单的连接查询功能语法。
904 0

相关课程

更多