LINQ to SQL:Where、Select/Distinct
Where 操作
适用场景:实现过滤,查询等功能。
简单说明:与 SQL 命令中的 Where 作用相似,都是起到范围限定也就是过滤作用的 ,而判断条件就是它后面所接的子句。
Where 操作包括 3 种形式:简单形式、关系条件形式、 First()形式。 1.简单形式:
条件一:使用 where 筛选在名称为moxuanshang的客户
var q =
from c in db.MXSMember
where c.TrueName.Equals(“moxuanshang”)
select c; 换种方式 由实体类接收
MXSMember member=db.MXSMember.Where(a=>a.TrueName.Equals(“moxuanshang”) ).FirstOrDefault();
(由于MXSMember是个实体类 so 查询去第一条数据 此时FirstOrDefault()就起到了作用) 条件二:筛选注册时间为2016年11月11日的会员:
var q =
from e in db.MXSMember
where e.AddTime>= DateTime.Parse( DateTime.Now.ToString(“yyyy-MM-dd”))
select e; 换种方式 由实体类接收
MXSMember member=db.MXSMember.Where(a=>a.AddTime>= DateTime.Parse( DateTime.Now.ToString(“yyyy-MM-dd”))).FirstOrDefault();
(由于MXSMember是个实体类 so 查询去第一条数据 此时FirstOrDefault()就起到了作用) 2.关系条件形式:
筛选出注册时间为2016年11月11日 和 会员名为moxuanshang的会员
var q =
from p in db.MXSMember
where p.AddTime>= DateTime.Parse( DateTime.Now.ToString(“yyyy-MM-dd”))&&p.TrueName.Equals("moxuanshang")
select p; 换种方式 由实体类接收
MXSMember member=db.MXSMember.Where(a=>a.AddTime>= DateTime.Parse( DateTime.Now.ToString(“yyyy-MM-dd”))&&a.TrueName.Equals("moxuanshang")).FirstOrDefault();
(由于MXSMember是个实体类 so 查询去第一条数据 此时FirstOrDefault()就起到了作用) 筛选出 注册时间为2016年11月11日 或 会员名为moxuanshang的会员
var q =
from p in db.MXSMember
where p.AddTime>= DateTime.Parse( DateTime.Now.ToString(“yyyy-MM-dd”))||p.TrueName.Equals("moxuanshang")
select p; 换种方式 由实体类接收
MXSMember member=db.MXSMember.Where(a=>a.p.AddTime>= DateTime.Parse( DateTime.Now.ToString(“yyyy-MM-dd”))||a.TrueName.Equals("moxuanshang")).FirstOrDefault();
(由于MXSMember是个实体类 so 查询去第一条数据 此时FirstOrDefault()就起到了作用) 3.FirstOrDefault()、First()形式:
返回集合中的一个元素,其实质就是在 SQL 语句中加 TOP (1)。 第一种写法
MXSMember member=db.MXSMember.Where(a=>a.p.AddTime>= DateTime.Parse( DateTime.Now.ToString(“yyyy-MM-dd”))||a.TrueName.Equals("moxuanshang")).FirstOrDefault(); 第二种写法
MXSMember member=db.MXSMember.FirstOrDefault(a=>a.p.AddTime>= DateTime.Parse( DateTime.Now.ToString(“yyyy-MM-dd”))||a.TrueName.Equals("moxuanshang"));
Select/Distinct 操作符
O(∩_∩)O~„ 根据条件查询。 1.简单用法: var q =
from c in db.MXSMember
select c.TrueName; var q =
from c in db.MXSMember
select new{c.TrueName} ; 2.匿名类型 形式: var q =
from c in db.MXSMember
select new {c.TrueName, c.Phone}; var q =
from e in db.Employees
select new
{
Name = e.FirstName + " " + e.LastName,
Phone = e.HomePhone
}; var q =
from p in db.Products
select new
{
p.ProductID,
HalfPrice = p.UnitPrice / 2
}; 3.条件形式:
说 明:生成 SQL 语句为:
var q =
from p in db.Products
select new
{
p.ProductName,
Availability =
p.UnitsInStock - p.UnitsOnOrder < 0 ?
"Out Of Stock" : "In Stock"
}; 4.指定类 型形式:
说明:该形式返回你自定义类型的对象集。
var q =
from e in db.Employees
select new Name
{
FirstName = e.FirstName,
LastName = e.LastName
}; 5.筛选形式:
说明:结合 where 使用,起到过滤作 用。
var q =
from c in db.MXSMember
where c.City == "London"
select c.TrueName; var q =
from c in db.MXSMember
select new {
c.CustomerID,
CompanyInfo = new {c.CompanyName, c.City, c.Country},
ContactInfo = new {c.TrueName, c.ContactTitle}
}; var q =
from o in db.Orders
select new {
o.OrderID,
DiscountedProducts =
from od in o.OrderDetails
where od.Discount > 0.0
select od,
FreeShippingDiscount = o.Freight
}; 6.Distinct 形式: var q = (
from c in db.MXSMember
select c.City )
.Distinct();
小编博客园:http://www.cnblogs.com/moxuanshang
小编CSDN:http://blog.csdn.net/u012122318
小编QQ群:238575862
小编微信订阅号请扫二维码识别
请扫二维码哦
LINQ to SQL:Where、Select/Distinct的更多相关文章
- JS中Float类型加减乘除 修复 JQ 操作 radio、checkbox 、select LINQ to SQL:Where、Select/Distinct LINQ to SQL Count/Sum/Min/Max/Avg Join
JS中Float类型加减乘除 修复 MXS&Vincene ─╄OvЁ &0000027─╄OvЁ MXS&Vincene MXS&Vincene ─╄Ov ...
- LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg (转)
Select/Distinct操作符 适用场景:o(∩_∩)o… 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也 ...
- LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据
http://www.cnblogs.com/yukaizhao/archive/2010/05/13/linq_to_sql_1.html LINQ和 LINQ to SQL 都已经不是一个新事物了 ...
- LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据 (转)
http://www.cnblogs.com/yukaizhao/archive/2010/05/13/linq_to_sql_1.html LINQ和 LINQ to SQL 都已经不是一个新事物了 ...
- Linq to SQL -- Insert、Update、Delete
Insert/Update/Delete操作 插入(Insert) 1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提 ...
- 20150222—LINQ to SQL 插入、更新和删除
注意,使用LINQ to SQL时, 表中必须有一个主键才可以起效,否则系统将无法对数据作出修改 插入新数据,根据上一片的文章实例在其中添加新的控件: 编号TextBox(Name):sno 名字Te ...
- LINQ to SQL语句(1)Select查询的九种形式
目录 说明 简单形式 匿名类型形式 条件形式 指定类型形式 筛选形式 Shaped形式 嵌套形式 本地调用方法形式 Distinct形式 说明 与SQL命令中的select作用相似但位置不同,查询表达 ...
- Linq to SQL 参考Demo
LINQ to SQL语句()之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句 ...
- Linq to SQL各种参考
原文:https://www.cnblogs.com/lyj/archive/2008/01/23/1049686.htmlhttps://www.cnblogs.com/lyj/archive/20 ...
随机推荐
- URL编码:不同的操作系统、不同的浏览器、不同的网页字符集,将导致完全不同的编码结果。
URL编码:不同的操作系统.不同的浏览器.不同的网页字符集,将导致完全不同的编码结果. 因此如果Url中有中文或特殊字符,一定要自己调用函数编码解码,不要让浏览器帮你编码,否则出现了问题会浪费你很多时 ...
- (转)深入理解flash重绘
深入理解Flash Player重绘 Flash Player 会以SWF内容的帧频速度来刷新需要变化的内容,而这个刷新的过程,我们通常称为“重绘(redraw)”,相信即便是初级的菜鸟也知道,只要使 ...
- query 的list()和iterator()区别
区别: 1.返回的类型不一样,list返回List,iterate返回iterator. 2.查询策略不同.(获取数据的方式不一样,list会直接查询数据库,iterate会先到数据库中获取id,然后 ...
- [LintCode] Integer to Roman 整数转化成罗马数字
Given an integer, convert it to a roman numeral. The number is guaranteed to be within the range fro ...
- Oracle恢复删除数据 && connect by 树形结构查询
1.一个表中根据以父子级别关系查询显示出来(如图) select t.* from department t CONNECT BY PRIOR t.depid=t.supdepid ; --这样也可以 ...
- 无损破解Android图案密码及原理
作者:http://weibo.com/hellguard 安卓图案密码穷举,秒破gesture.key.图案密码是明文的SHA1,明文取值范围是[00-08],不超过9字节,不重复出现,没有SALT ...
- oracle空间管理
表空间:组织数据文件的一种途径, 是一个逻辑概念 包含有 表,字段,索引 一个数据库可以对应多个表空间 一个物理文件对应一个表空间 任何一个数据库创建的第一一个表空间是 system Tables ...
- BizTalk开发系列(二十六) 使用Web Service
Web Service是在构建SOA平台中广泛使用的技术.在BizTalk开发过程中使用SOAP适配器接收和发送 Web Services 请求.业务流程可以发布为 Web Services 并使用外 ...
- 【iCore3 双核心板】例程十八:USB_VCP实验——虚拟串口
实验指导书及代码包下载: http://pan.baidu.com/s/1c1erqIc iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 使用SharpSSH连接服务器报Algorithm negotiation fail解决办法
SharpSSH或JSCH使用diffie-hellman-group1-sha1和diffie-hellman-group-exchange-sha1密钥交换算法,而OpenSSH在6.7p1版本之 ...