• 使用EF来进行查询的一种方式


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

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

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

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

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

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

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

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

    这种方法的不足:

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

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

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

  • 相关阅读:
    阅读笔记
    学习小记
    networkx学习笔记
    ORM查询简化
    redis等缓存
    redis相关缓存知识
    Centos7网络配置
    redis安装详细
    redis安装详细
    mobaxterm使用手册
  • 原文地址:https://www.cnblogs.com/ajiebp1977/p/3465083.html
Copyright © 2020-2023  润新知