【收集】Linq 查询方法收集
开始不间断收集linq查询使用的方法,日拱一卒,月可渡江。
- 查询排序取前6个
var newshops = storeDB.Shops.OrderByDescending(a => a.JoinDate).Take(6).ToList();
- 查询列表 常用用法
var order = (from u in storeDB.Orders where u.OrderId == id select u).ToList();
- Find ()
foreach (OrderDetail od in order_detail) { var dish = storeDB.Dishs.Find(od.DishId); }
- First()
var b = (from a in storeDB.Orders select a).First(x => x.OrderId.Equals(id));
-
Any()
用于判断集合中是否有元素满足某一条件;不延迟。(若条件为空,则集合只要不为空就返回True,否则为False)。
bool isValid = storeDB.Orders.Any(o => o.OrderId == id && o.Username == User.Identity.Name);
- Take(int n);
var shops = (from u in storeDB.Shops where u.TitleShopValue > 0 orderby u.TitleShopValue descending select u).Take(8).ToList();
取排前面的N个。
- Contains();提供模糊查询
var shops = (from u in DB.Shops where u.Name.Contains(searchKey) orderby u.TitleShopValue descending select u).ToList();
-
var id =storeDB.Users.SingleOrDefault(u => u.UserName ==model.UserName).UserID;
- 判断,返回bool类型
return (from s in roles from userrole in userroles where s.Equals(userrole) select s).Any();
- 条件查询
IList<UserFollow> Follows = db.UserFollows.Where(o => o.UserId == userid).ToList();
- 统计计数
var ageCoun = (from s in GetStudents() select s.Age).Count(a=>a>22);
Var Count = LDB.User.Count(o=>o.age == 23);