1
yhj
2024-07-24 5e5d945e91568b973faa27d8ab0bcef99fc4a6c5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
namespace CSFrameworkV5.Interfaces
{
    /// <summary>
    ///     支持高级搜索功能
    /// </summary>
    public interface ISupportAdvancedSearch
    {
        /// <summary>
        ///     高级查询条件类型
        /// </summary>
        AdvancedSearchResult ResultType { get; set; }
 
        /// <summary>
        ///     高级搜索的方法
        /// </summary>
        /// <param name="whereSQL">高级搜索组合的查询条件</param>
        /// <returns>返回查询的对象</returns>
        object AdvancedSearch(string whereSQL);
 
        /// <summary>
        ///     高级搜索的方法
        /// </summary>
        /// <param name="whereSQL">高级搜索组合的查询条件,如:where Code=@Code</param>
        /// <param name="parameters">查询参数</param>
        /// <returns></returns>
        object AdvancedSearch(string whereSQL, DbParameterModel[] parameters);
    }
 
    public class DbParameterModel
    {
        /// <summary>
        ///     自定义符号标识,用于替换为SQL参数符号, 如@,?, :
        /// </summary>
        public const string ParamSymbol = "#P#";
 
        /// <summary>
        ///     参数名称,字段名称, 如:#P#Name
        /// </summary>
        public string ParamName { get; set; }
 
        /// <summary>
        ///     参数值,用户输入的值,如:小李
        /// </summary>
        public object ParamValue { get; set; }
    }
 
    /// <summary>
    ///     高级查询条件类型, 支持两种模式:SQL拼接, SQL参数
    /// </summary>
    public enum AdvancedSearchResult
    {
        /// <summary>
        ///     Where SQL语句
        /// </summary>
        WhereSQL,
 
        /// <summary>
        ///     DB参数
        /// </summary>
        DbParamList
    }
}