mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 12:28:15 +08:00
- 增加 ISelect.WhereDynamicFilter 方法实现动态过滤条件(与前端交互);
This commit is contained in:
84
FreeSql/Internal/Model/DynamicFilterInfo.cs
Normal file
84
FreeSql/Internal/Model/DynamicFilterInfo.cs
Normal file
@ -0,0 +1,84 @@
|
||||
using FreeSql;
|
||||
using FreeSql.Internal;
|
||||
using FreeSql.Internal.CommonProvider;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
|
||||
namespace FreeSql.Internal.Model
|
||||
{
|
||||
/// <summary>
|
||||
/// 动态过滤条件
|
||||
/// </summary>
|
||||
public class DynamicFilterInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 属性名:Name<para></para>
|
||||
/// 导航属性:Parent.Name<para></para>
|
||||
/// 多表:b.Name<para></para>
|
||||
/// </summary>
|
||||
public string Field { get; set; }
|
||||
/// <summary>
|
||||
/// 操作符
|
||||
/// </summary>
|
||||
public DynamicFilterOperator Operator { get; set; }
|
||||
/// <summary>
|
||||
/// 值
|
||||
/// </summary>
|
||||
public string Value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Filters 下的逻辑运算符
|
||||
/// </summary>
|
||||
public DynamicFilterLogic Logic { get; set; }
|
||||
/// <summary>
|
||||
/// 子过滤条件,它与当前的逻辑关系是 And<para></para>
|
||||
/// 注意:当前 Field 可以留空
|
||||
/// </summary>
|
||||
public List<DynamicFilterInfo> Filters { get; set; }
|
||||
}
|
||||
|
||||
public enum DynamicFilterLogic { And, Or }
|
||||
public enum DynamicFilterOperator
|
||||
{
|
||||
/// <summary>
|
||||
/// like
|
||||
/// </summary>
|
||||
Contains,
|
||||
StartsWith,
|
||||
EndsWith,
|
||||
NotContains,
|
||||
NotStartsWith,
|
||||
NotEndsWith,
|
||||
|
||||
/// <summary>
|
||||
/// =
|
||||
/// </summary>
|
||||
Equals,
|
||||
Eq,
|
||||
/// <summary>
|
||||
/// <>
|
||||
/// </summary>
|
||||
NotEqual,
|
||||
|
||||
/// <summary>
|
||||
/// >
|
||||
/// </summary>
|
||||
GreaterThan,
|
||||
/// <summary>
|
||||
/// >=
|
||||
/// </summary>
|
||||
GreaterThanOrEqual,
|
||||
/// <summary>
|
||||
/// <
|
||||
/// </summary>
|
||||
LessThan,
|
||||
/// <summary>
|
||||
/// <=
|
||||
/// </summary>
|
||||
LessThanOrEqual,
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user