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
小编微信订阅号请扫二维码识别
请扫二维码哦