八大基本字句
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(); where子句
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子句可以创建一个新的范围变量,并且使用该变量保存表达式中的结果。
- //使用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 };