本示例是基于northwind数据库的
- Any用法:返回的是true或者false,用于判断是否存在
目的:查找第二三条customer的city是否已A开头,如果有就将这些city提出
var v =(from n in entities.Customers let z= //创建一个条件,用于判断是否存在,最为后面的条件 (from u in entities.Customers orderby u.City select u.City).Skip(1).Take(2).Any(c=>c.StartsWith("a")) where z&&n.City.Length>3 select n.City).Take(3);
- ALL用法:用于判断一个集合中的所有元素是否都满足某一条件,返回true或者false
目的:查找所有订单中的产品都打折的订单,并打印出订单ID,对应的product的ID,以及打折信息
var q = from u in entities.Orders where u.Order_Details.All(c => c.Discount > 0) orderby u.OrderID select new { u.OrderID, ProductIDS = from n in u.Order_Details orderby n.ProductID select new { n.ProductID, n.Discount } };
//打印相应的信息 foreach (var item in q) { Console.WriteLine("所有产品都打折的order的ID是:" + item.OrderID); foreach (var subItem in item.ProductIDS) Console.WriteLine("打折产品ID:" + subItem.ProductID + "\t" + "打折:" + subItem.Discount); }