Entity Framework 第十篇 条件查询
Posted 尘嚣之上
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Entity Framework 第十篇 条件查询相关的知识,希望对你有一定的参考价值。
业务类中 我们根据条件来动态的查询
创建IQueryable接口
public IQueryable<TEntity> GetQueryable() { IQueryable<TEntity> query = dbContext.Set<TEntity>(); return query; }
为什么创建IQueryable接口?IQueryable会在调用ToList()或者Count()等方法的时候,才回向数据库查询,所以只会向数据库提交一次带条件的查询语句,从而提升了性能。
public IList<Shop> Query(Shop model) { IQueryable<Shop> query = GetQueryable().Where(m => m.DelStatus == 0); if (model.ShopID != null) { query = query.Where(m => m.ShopID == model.ShopID); } if (!string.IsNullOrEmpty(model.Name)) { query = query.Where(m => m.Name.Contains(model.Name)); } if (!string.IsNullOrEmpty(model.Province)) { query = query.Where(m => m.Province == model.Province); } if (!string.IsNullOrEmpty(model.City)) { query = query.Where(m => m.City == model.City); } if (!string.IsNullOrEmpty(model.Area)) { query = query.Where(m => m.Area == model.Area); } query = query.OrderBy(m => m.ShopID); return query.ToList(); }
以上是关于Entity Framework 第十篇 条件查询的主要内容,如果未能解决你的问题,请参考以下文章
在 Entity Framework Core 中,如何使用数据库级别的条件(不是本地 LINQ)查询连接表上的数据?
Entity Framework技巧系列之十 - Tip 37 - 41