网站首页 网站源码
website
站点相关全部源代码,隐藏了一些关于服务器的信息
namespace Dpz.Core.Infrastructure.ExpressTreeQuery;

/// <summary>
/// 定义查询过滤条件的枚举
/// 用于指定在生成表达式树时,如何验证和处理请求参数的值
/// </summary>
public enum FilterCondition
{
    /// <summary>
    /// 验证值不为 null
    /// 适用于所有可空类型
    /// </summary>
    NotNull,

    /// <summary>
    /// 验证字符串不为 null 且不为空字符串
    /// 仅适用于 <see cref="string"/> 类型
    /// 等同于  <![CDATA[value != null && value != ""]]>
    /// </summary>
    NotNullOrEmpty,

    /// <summary>
    /// 验证字符串不为 null 且不为空字符串且不为纯空白字符
    /// 仅适用于 <see cref="string"/> 类型
    /// 等同于 <![CDATA[value != null && value.Trim() != ""]]>
    /// </summary>
    NotNullOrWhiteSpace,

    /// <summary>
    /// 验证集合不为 null 且包含至少一个元素
    /// 适用于实现了 <see cref="System.Collections.ICollection"/> 接口的类型
    /// 等同于 <![CDATA[value != null && value.Count > 0]]>
    /// </summary>
    LeftAny,

    /// <summary>
    /// 验证数组不为 null 且包含至少一个元素
    /// 适用于 <see cref="System.Array"/> 类型
    /// 等同于 <![CDATA[value != null && value.Length > 0]]>
    /// </summary>
    RightAny,

    /// <summary>
    /// 验证值等于指定的比较值
    /// 适用于所有可比较的类型
    /// 等同于 <![CDATA[value == comparisonValue]]>
    /// </summary>
    EqualValue,

    /// <summary>
    /// 验证值不等于指定的比较值
    /// 适用于所有可比较的类型
    /// 等同于 <![CDATA[value != comparisonValue]]>
    /// </summary>
    NotEqualValue,

    /// <summary>
    /// 验证值大于指定的比较值
    /// 适用于实现了 IComparable 接口的类型
    /// 等同于 <![CDATA[value > comparisonValue]]>
    /// </summary>
    GtValue,

    /// <summary>
    /// 验证值小于指定的比较值
    /// 适用于实现了 IComparable 接口的类型
    /// 等同于 <![CDATA[value < comparisonValue]]>
    /// </summary>
    LtValue,

    /// <summary>
    /// 验证值大于或等于指定的比较值
    /// 适用于实现了 IComparable 接口的类型
    /// 等同于 <![CDATA[value >= comparisonValue]]>
    /// </summary>
    GtOrEqualValue,

    /// <summary>
    /// 验证值小于或等于指定的比较值
    /// 适用于实现了 IComparable 接口的类型
    /// 等同于 <![CDATA[value <= comparisonValue]]>
    /// </summary>
    LtOrEqualValue,
}
⚠⚠    以下内容为AI分析的结果,请根据实际情况进行判断。

上述代码定义了一个名为 FilterCondition 的枚举类型,位于 Dpz.Core.Infrastructure.ExpressTreeQuery 命名空间中。这个枚举的主要功能是表示在请求参数中需要达成的各种条件。每个枚举值对应一种特定的过滤条件,通常用于数据查询或验证的场景。以下是对每个枚举值的详细解释:

  1. NotNull: 表示该值必须不为 null。适用于需要确保某个对象存在的情况。

  2. NotNullOrEmpty: 表示该值必须不为 null 且不为空字符串(即 "")。这个条件仅适用于 string 类型,确保字符串有实际内容。

  3. NotNullOrWhiteSpace: 表示该值必须不为 null,不为空字符串,并且不只包含空格。这个条件同样仅适用于 string 类型,确保字符串中有可见字符。

  4. Any: 表示集合中必须存在至少一个元素。这个条件要求类型必须继承自 ICollection,用于检查集合的非空状态。

  5. EqualValue: 表示该值必须等于特定的值。用于精确匹配的场景。

  6. NotEqualValue: 表示该值必须不等于特定的值。用于排除特定值的情况。

  7. GtValue: 表示该值必须大于特定的值。适用于数值比较。

  8. LtValue: 表示该值必须小于特定的值。适用于数值比较。

  9. GtOrEqualValue: 表示该值必须大于或等于特定的值。适用于数值比较。

  10. LtOrEqualValue: 表示该值必须小于或等于特定的值。适用于数值比较。

总结

这个枚举类型提供了一组标准化的条件,用于在数据查询或验证过程中对输入参数进行过滤和验证。通过使用这些条件,开发人员可以更清晰地表达对数据的要求,从而提高代码的可读性和可维护性。

loading