八大基本子句
1.from … in子句:指定查询操作的数据源和范围变量
//创建linqDB数据库上下文实例
LinqDBDataContext DB = new LinqDBDataContext();
//linqtosql 查询结果
//使用from …in子句
var query = from user in DB.UserInfo
where user.ID < 5
select user;
//指定数据源
GridView1.DataSource = query;
//绑定数据源
GridView1.DataBind();
2.select子句:指定查询结果的类型和表现形式
//创建linqDB数据库上下文实例
LinqDBDataContext DB = new LinqDBDataContext();
//linqtosql 查询结果
//使用from …in子句
var query = from user in DB.UserInfo
where user.ID < 5
//select语句指定查询结果
select user;
//指定数据源
GridView1.DataSource = query;
//绑定数据源
GridView1.DataBind();
3.where子句:筛选元素的逻辑条件,一般由逻辑运算符组成
//创建linqDB数据库上下文实例
LinqDBDataContext DB = new LinqDBDataContext();
//linqtosql 查询结果
//使用from …in子句
var query = from user in DB.UserInfo
//where子句筛选user.ID < 5的结果
where user.ID < 5
//select语句指定查询结果
select user;
//指定数据源
GridView1.DataSource = query;
//绑定数据源
GridView1.DataBind();
4.group … by子句:对查询进行分组
//创建linqDB数据库上下文实例
LinqDBDataContext DB = new LinqDBDataContext();
//linq分组
var query = from res in
(from user in DB.UserInfo
join order in DB.Order on user.ID equals order.UserId
select new { ID = user.ID, Name = user.Username }
)
//使用group…by进行分组
group res by res.ID;
foreach (var item in query)
{
//创建GV
GridView gridView = new GridView();
//设置GV的id属性
gridView.DataSource = item;
gridView.DataBind();
//添加html元素
Page.Form.Controls.Add(gridView);
}
5.orderby子句:对查询结果进行排序,可以为“升序”或“降序”
LinqDBDataContext DB = new LinqDBDataContext();
var query = from user in DB.UserInfo
join role in DB.UserRole on user.ID equals role.UserID
where user.ID < 5 && user.Username.Length >= 3
//使用orderby子句进行查询结果排序
orderby user.Username descending
select new { ID = user.ID, Name = user.Username, Role = role.Role.RoleName };
GridView1.DataSource = query;
GridView1.DataBind();
6.join子句:连接多个查询操作的数据源
LinqDBDataContext DB = new LinqDBDataContext();
var query = from user in DB.UserInfo
//使用join连接role 表和user表
join role in DB.UserRole on user.ID equals role.UserID
where user.ID < 5 && user.Username.Length >= 3
//使用orderby子句进行查询结果排序
orderby user.Username descending
select new { ID = user.ID, Name = user.Username, Role = role.Role.RoleName };
GridView1.DataSource = query;
GridView1.DataBind();
7. let子句:引入用于存储查询表达式中的子表达式结果的范围变量
//使用let子句创建范围变量g,并通过g构建查询表达式
var query = from guest in gList
let g = guest.Name.Substring(0, 1)
where g == "D" || g == "J"
select guest;
8. into子句:提供一个临时标示符,充当对join、group或select子句的结果
var groups = from word in words
orderby word ascending
group word by word.Length into lengthGroups
orderby lengthGroups.Key descending
select new { Length = lengthGroups.Key, Words = lengthGroups };