zoukankan      html  css  js  c++  java
  • entity framework 动态条件

    entity framework 动态条件

    问题:在实际编码过程中,根据不同的选择情况,会需要按照不同的条件查询数据集

    如:状态confirmStatus ,如果为空的时候,查询全部,如果有具体值的时候,查询相应的值

         同时还有其他条件,外键编号 task 等等。

    这个时候,需要根据条件的值来判断是否增加该条件

    using (CadalEntities cadalEntities = new CadalEntities())
    {

      string taskId = 12;

      string itemConfirmStatus == "";

      //构建动态条件数组

      List<Expression<Func<V_TaskItem, bool>>> where = new List<Expression<Func<V_TaskItem, bool>>>(); 

      //添加外键条件过滤

      where.Add(x => x.task == taskId); 

      //判断是否需要添加其他条件  

      if (!string.IsNullOrEmpty(itemConfirmStatus))
      {
        where.Add(x => x.confirmStatus == itemConfirmStatus);
      }

      else

      {

        where.Add(x=>x.confirmStatus =="1" || x.confirmStatus =="3");

      }

      //定义查询 V_TaskItem查询的实体对象

      IQueryable<V_TaskItem> query = null;

      //加载查询条件

      foreach (var w in where)

      {

        query= cadalEntities.V_TaskItem.Where(w);

      }

      //进行实际查询

      int count = query.Count();

      var list = query.OrderBy(x => x.id).Skip(requestStart).Take(requestLength).ToList();

    }

    结合网上众多例子,终于摸索出来了。

  • 相关阅读:
    Yaffs文件系统简介
    网新恒天2013年校园招聘笔试
    【Android】项目中每个文件夹的作用
    唐-诗:《春江花月夜》
    汉语-词语:诗词歌赋
    汉语-词语:四季
    图书-心理学:《思考致富》
    影视-电影:《释迦摩尼佛传》
    软件开发-开发模式:极限编程
    【计算机视觉】SIFT中LoG和DoG比較
  • 原文地址:https://www.cnblogs.com/eshinex/p/5724486.html
Copyright © 2011-2022 走看看