zoukankan      html  css  js  c++  java
  • 使用EF来进行查询的一种方式

    目前,做查询的时候,一般都是定义一个类,属性为查询条件。提交到对应的action后,判断对应的属性是否为空,为空,则用LINQ来组合条件。

    但是这么处理,所使用的IF过多,代码的可读性就差了。

    另外的一个思路是,首先定义一个class:

    key表示对应实体的名称,value表示对应的值,ext表示表达式。

    查询类定义如下,为了简单,只有两个属性:

    主要是在给属性赋值的时候,判断对应的值是不是为空,如果不为空,则添加到对应的list中。

    查询的时候,根据这个list,就可以得到所有非空的查询条件。ext为表达式,可以用LINQ支持的所有的函数。

    再去查询的时候,就简单了。少了if的判断。

    这种方法的不足:

    1、对应的值都为string,需要改进

    2、默认的条件为and,如果需要or的话,需要额外来处理

    使用了微软的动态查询的一个文件,Dynamic.cs

  • 相关阅读:
    顺序栈用C语言实现
    对队列的操作和算法
    对链表的操作与算法
    对动态数组的操作与算法
    链表
    冒泡排序
    指针之动态分配内存
    字符串匹配KMP算法
    DS二叉树--层次遍历
    DS图--最小生成树
  • 原文地址:https://www.cnblogs.com/ajiebp1977/p/3465083.html
Copyright © 2011-2022 走看看