namespace Dpz.Core.Entity.Base.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 枚举解析
这个 FilterCondition 枚举定义了一系列查询过滤条件,用于在生成表达式树时验证和处理请求参数的值。它是 Dpz.Core.Entity.Base.ExpressTreeQuery 命名空间的一部分,主要用于构建动态查询条件。
主要功能
这个枚举提供了多种验证条件,可以分为以下几类:
1. 空值检查
- NotNull: 验证值不为 null(适用于所有可空类型)
- NotNullOrEmpty: 验证字符串不为 null 且不为空字符串(仅适用于 string 类型)
- NotNullOrWhiteSpace: 验证字符串不为 null 且不为空白字符串(仅适用于 string 类型)
2. 集合检查
- LeftAny: 验证集合不为 null 且包含至少一个元素(适用于 ICollection 实现)
- RightAny: 验证数组不为 null 且包含至少一个元素(适用于 Array 类型)
3. 值比较
- EqualValue: 验证值等于指定比较值
- NotEqualValue: 验证值不等于指定比较值
- GtValue: 验证值大于指定比较值
- LtValue: 验证值小于指定比较值
- GtOrEqualValue: 验证值大于或等于指定比较值
- LtOrEqualValue: 验证值小于或等于指定比较值
使用场景
这个枚举可能用于:
- 动态构建 LINQ 查询条件
- 验证 API 请求参数
- 构建灵活的过滤系统
- 实现通用查询功能
每个枚举值都有详细的 XML 注释,说明了适用类型和等效的 C# 表达式,这有助于开发者正确使用这些条件。
评论加载中...