update dapper查询
This commit is contained in:
@@ -25,32 +25,19 @@ namespace Ewide.Core
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
|
||||
private string _QueryTypeStr;
|
||||
|
||||
public QueryTypeEnum QueryType
|
||||
{
|
||||
get
|
||||
{
|
||||
switch (_QueryTypeStr)
|
||||
return Type switch
|
||||
{
|
||||
case "=":
|
||||
case "equal":
|
||||
return QueryTypeEnum.Equal;
|
||||
case "<":
|
||||
case "lessthan":
|
||||
return QueryTypeEnum.LessThan;
|
||||
case "<=":
|
||||
case "lessthanorequal":
|
||||
return QueryTypeEnum.LessThanOrEqual;
|
||||
case ">":
|
||||
case "greaterthan":
|
||||
return QueryTypeEnum.GreaterThan;
|
||||
case ">=":
|
||||
case "greaterthanorequal":
|
||||
return QueryTypeEnum.GreaterThanOrEqual;
|
||||
default:
|
||||
return QueryTypeEnum.Like;
|
||||
}
|
||||
"=" or "equal" => QueryTypeEnum.Equal,
|
||||
"<" or "lessthan" => QueryTypeEnum.LessThan,
|
||||
"<=" or "lessthanorequal" => QueryTypeEnum.LessThanOrEqual,
|
||||
">" or "greaterthan" => QueryTypeEnum.GreaterThan,
|
||||
">=" or "greaterthanorequal" => QueryTypeEnum.GreaterThanOrEqual,
|
||||
_ => QueryTypeEnum.Like,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +47,6 @@ namespace Ewide.Core
|
||||
public SearchInfo()
|
||||
{
|
||||
Value = new List<string>();
|
||||
_QueryTypeStr = Type;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,9 @@ namespace Ewide.Core.Extension.DataFilter.WebPage
|
||||
List<string> whereSqls = new List<string>();
|
||||
foreach (var elem in searchInfoList.Where(m => m != null))
|
||||
{
|
||||
whereSqls.Add(GetWhereSqlBuild(elem));
|
||||
var r = GetWhereSqlBuild(elem);
|
||||
if (String.IsNullOrWhiteSpace(r)) continue;
|
||||
whereSqls.Add(r);
|
||||
}
|
||||
StringBuilder result = new StringBuilder();
|
||||
|
||||
@@ -64,10 +66,12 @@ namespace Ewide.Core.Extension.DataFilter.WebPage
|
||||
List<string> whereList = new List<string>();
|
||||
foreach (var elem in searchInfo.Value)
|
||||
{
|
||||
if (String.IsNullOrWhiteSpace(elem)) continue;
|
||||
|
||||
var parameterName = "@" + searchInfo.Field + Guid.NewGuid().ToString("N");
|
||||
//AddParameter(parameterName, elem);
|
||||
sqlParameters.Add(parameterName, QueryTypeEnum.Like == searchInfo.QueryType ? "%" + elem + "%" : elem);
|
||||
whereList.Add(String.Format(sqlT, searchInfo.Field, searchInfo.Type, parameterName));
|
||||
whereList.Add(String.Format(sqlT, searchInfo.Field, GetSearchOperatorStr(searchInfo.QueryType), parameterName));
|
||||
}
|
||||
if (whereList.Count == 0) return String.Empty;
|
||||
var resultT = "({0})";
|
||||
@@ -75,6 +79,26 @@ namespace Ewide.Core.Extension.DataFilter.WebPage
|
||||
return result;
|
||||
}
|
||||
|
||||
private string GetSearchOperatorStr(QueryTypeEnum searchOperator)
|
||||
{
|
||||
switch (searchOperator)
|
||||
{
|
||||
case QueryTypeEnum.GreaterThan:
|
||||
return ">";
|
||||
case QueryTypeEnum.GreaterThanOrEqual:
|
||||
return ">=";
|
||||
case QueryTypeEnum.LessThan:
|
||||
return "<";
|
||||
case QueryTypeEnum.LessThanOrEqual:
|
||||
return "<=";
|
||||
case QueryTypeEnum.Like:
|
||||
return " LIKE ";
|
||||
default:
|
||||
return "=";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void AddParameter(string key, object value)
|
||||
{
|
||||
//var parameter = _SqlParameters.ParameterNames.FirstOrDefault(m => m == key);
|
||||
|
||||
Reference in New Issue
Block a user