Linq的基础2
var 构建匿名类型1 = from c in ctx.GetTable<Customers>()
select new
{
城市 = c.City,
名字 = c.Name
};
var 构建匿名类型2 = from emp in ctx.GetTable<Customers>()
select new
{
城市 = emp.City,
名字 = emp.Name
};
var 多条件 = from c in ctx.GetTable<Customers>()
where c.Name == "Jay" && c.City == "雷州"
select new
{
名字 = c.City,
城市 = c.City
};
var 排序 = from c in ctx.GetTable<Customers>()
where c.City == "雷州"
orderby c.Name descending, c.City ascending
select new
{
名字 = c.Name,
城市 = c.City
};
//按照每页 10 条记录,查询第二页的顾客
var 分页 = (from c in ctx.GetTable<Customers>() select c).Skip(10).Take(10);
//根据顾客的国家分组,查询顾客数大于 5 的国家名和顾客数
var 一般分组 = from c in ctx.GetTable<Customers>()
group c by c.City into g
where g.Count() > 5
orderby g.Count() descending
select new
{
国家=g.Key,
顾客数=g.Count()
};
//根据国家和城市分组,查询顾客覆盖的国家和城市
var 匿名类型分组 = from c in ctx.GetTable<Customers>()
group c by new { c.City, c.Name } into g
orderby g.Key.City, g.Key.Name
select new
{
国家 = g.Key.Name,
城市 = g.Key.City
};
var 过滤相同项 = (from c in ctx.GetTable<Customers>() orderby c.Name select c.Name).Distinct();
var 连接并且过滤相同项 = (from c in ctx.GetTable<Customers>()
where c.City.Contains("A")
select c)
.Union(from c in ctx.GetTable<Customers>()
where c.Name.StartsWith("A")
select c).OrderBy(c => c.City);
var 连接并且不过滤相同项 = (from c in ctx.GetTable<Customers>()
where c.City.Contains("A")
select c).Concat
(from c in ctx.GetTable<Customers>() where c.City.StartsWith("A") select c)
.OrderBy(c => c.City);
//查询城市是 A 打头的顾客和城市包含 A 的顾客的交集,并按照顾客名字排序
var 取相交项 = (from c in ctx.GetTable<Customers>()
where c.City.Contains("A")
select c).Intersect
(from c in ctx.GetTable<Customers>()
where c.City.StartsWith("A")
select c).OrderBy(c => c.City);
//查询城市包含 A 的顾客并从中删除城市以 A 开头的顾客,并按照顾客名字排序
var 排除相交项 = (from c in ctx.GetTable<Customers>()
where c.City.StartsWith("A")
select c).Except
(from c in ctx.GetTable<Customers>()
where c.Name.StartsWith("A")
select c).OrderBy(c => c.Name);
//查询订单数超过 5 的顾客信息
var 子查询 = from c in ctx.GetTable<Customers>()
where
(from o in ctx.GetTable<Customers>()
group o by o.CustomerID into o
where
o.Count() > 5
select o.Key).Contains(c.CustomerID)
select c;
//查询指定城市中的客户
var in操作 = from c in ctx.GetTable<Customers>()
where new string[] { "B", "A", "C" }.Contains(c.City)
select c;
//内连接,没有分类的产品查询不到
var innerjoin = from p in ctx.GetTable<Customers>()
join c in ctx.GetTable<Customers>()
on p.CustomerID equals c.CustomerID
select p.Name;
//外连接,没有分类的产品也能查询到
var leftjoin = from p in ctx.GetTable<Customers>()
join c in ctx.GetTable<Customers>()
on p.City equals c.City
into pro
from x in pro.DefaultIfEmpty()
select p.Name;
var 单结果集存储过程 =
from c in ctx.sp_singleresultset()
where c.Name.StartsWith("A")
select c;
var 多结果集存储过程 = ctx.sp_multiresultset();
var Customer = 多结果集存储过程.GetResult<Customers>();
var Employees = 多结果集存储过程.GetResult<Employee>();
Linq的基础2的更多相关文章
- LinQ 语法基础
LINQ (Language-Integrated Query,语言集成查询). LINQ to Objects.LINQ to SQL.LINQ to DataSet和LINQ to XML,它们分 ...
- C#语法之Linq查询基础二
上篇C#语法之Linq查询基础一基本把Linq介绍了一下,这篇主要是列举下它的几个常见用法. 在用之前先准备些数据,新建了两个类Student.Score,并通过静态方法提供数据. using Sys ...
- LINQ查询基础
一.什么是LINQ LINQ是Language Integrate Query的缩写,意为语言集成查询,是微软在.Net Framework 4.5版中推出的主要特性之一. 它为开发人员提供了统一的数 ...
- C#语法之Linq查询基础一
Linq做.Net开发的应该都用过,有些地方很复杂的逻辑用Linq很方便的解决.对于Linq to object.Linq to xml.Linq to sql.Linq to Entity(EF)都 ...
- Linq 操作基础
参考资料: LINQ系列:LINQ to DataSet的DataTable操作 List<T>转换为DataTable C# DataTable 和List之间相互转换的方法 Linq中 ...
- Linq一 基础知识
1.什么是Linq 他是VS2008(.net framework 3.5)之后一项重大的突破 全程Lnaguage Integrated Query,可以成为数据迭代器. 主要有以下5大块组成: L ...
- Linq语句基础
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- LINQ的基础使用方法
//新建一个项目 //项目下新建一个App_Code文件夹 //在文件夹内添加一个LINQ TO SQL,这个操作就相当于创建了一个实体类 //连接数据库后把表拖入到服务器资源管理器中 //创建数据访 ...
- [.net 面向对象编程基础] (19) LINQ基础
[.net 面向对象编程基础] (19) LINQ基础 上两节我们介绍了.net的数组.集合和泛型.我们说到,数组是从以前编程语言延伸过来的一种引用类型,采用事先定义长度分配存储区域的方式.而集合是 ...
随机推荐
- 搭建lamp环境
虚拟机始终是虚拟机,还是linux用起来舒服得多.话不多说,回到我们的老本行,linux下进行lamp环境搭建吧. 一.安装 1.Apache sudo apt-get install apache2 ...
- js学习(一)
在javascript中,哪些值能作为if的条件呢? 1.布尔变量true/false 2.数字 非0数值为true, 0 或NaN为false. 3.对象 对象为null或undefined为fal ...
- PHP基础语法随记
PHP常量: 预定义常量: PHP自身也定义了大量的预定义常量,可以使用get_defined_constants()来查看,比较常用的预定义常量有: PHP_OS:PHP系统. PHP_VERSIO ...
- python学习(四)五数连珠
中午有段时间,模仿<五子连珠>写了一段代码,运行截图如下: import random # for random.randrange() import os # for input() b ...
- [C入门 - 游戏编程系列] 贪吃蛇篇(二) - 食物定义
游戏中的食物没有那么多复杂属性,特别是贪吃蛇游戏中,我把食物看待的很简单: 1. 它必须属于世界,才能出现在世界.不可能一个不属于世界的食物,出现在世界中:但是可能存在着一个食物,它属于世界,但是却没 ...
- java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils Caused by: java.lang.ClassNotFou ...
- unity3D对象的显示和隐藏
SetActive/active/SetActiveRecursively 后两者比较旧,现在通常用第一个SetActive 必须先new一个gameobject对象用于实例化,然后再设置其activ ...
- hdu Game of Connections
卡特兰数 递推公式:h(n)=h(n-1)*(4*n-2)/(n+1); import java.math.BigInteger; import java.util.Scanner; public c ...
- LightOj 1230 Placing Lampposts(树形DP)
题意:给定一个森林.每个节点上安装一个灯可以覆盖与该节点相连的所有边.选择最少的节点数num覆盖所有的边.在num最小的前提下,合理放置num个灯使得被两个灯覆盖的边最多? 思路:F[i][0]代表没 ...
- WEB程序会话管理--HttpSession和Cookie
WEB应用的会话管理的原理: 由于WEB应用的请求和响应是基于HTTP的,而HTTP由属于无状态的通信协议,只能记录本次请求的信息,因此服务器不会记住这一次的请求和下一次请求的关系.所以会话管理的原理 ...