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 4.1 两个跟踪查询

Entity Framework技巧系列之十 - Tip 37 - 41

第十篇:Spark SQL 源码分析之 In-Memory Columnar Storage源码分析之 query

MySQL数据库学习第十篇(视图触发器事物)

entity framework怎么查询部分数据