mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-04-05 17:38:01 +08:00
fix #I9UK5G 资源管理的查询报错
This commit is contained in:
parent
35ff148b68
commit
8dfca5254d
@ -254,38 +254,38 @@ namespace Infrastructure
|
|||||||
}
|
}
|
||||||
else //or
|
else //or
|
||||||
{
|
{
|
||||||
return result.Or(gresult);
|
return Expression.OrElse( result, gresult);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 转换FilterGroup[]为表达式,不管FilterGroup里面的Filters
|
/// 转换FilterGroup[]为表达式,不管FilterGroup里面的Filters
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="groups"></param>
|
/// <param name="queryObjs"></param>
|
||||||
/// <param name="param"></param>
|
/// <param name="param"></param>
|
||||||
/// <param name="operation"></param>
|
/// <param name="operation"></param>
|
||||||
/// <typeparam name="T"></typeparam>
|
/// <typeparam name="T"></typeparam>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private static Expression ConvertGroup<T>(QueryObject[] groups, ParameterExpression param, string operation)
|
private static Expression ConvertGroup<T>(QueryObject[] queryObjs, ParameterExpression param, string operation)
|
||||||
{
|
{
|
||||||
if (groups == null || !groups.Any()) return null;
|
if (queryObjs == null || !queryObjs.Any()) return null;
|
||||||
|
|
||||||
Expression result = ConvertGroup<T>(groups[0], param);
|
Expression result = ConvertGroup<T>(queryObjs[0], param);
|
||||||
|
|
||||||
if (groups.Length == 1) return result;
|
if (queryObjs.Length == 1) return result;
|
||||||
|
|
||||||
if (operation == "and")
|
if (operation == "and")
|
||||||
{
|
{
|
||||||
foreach (var filter in groups.Skip(1))
|
foreach (var filter in queryObjs.Skip(1))
|
||||||
{
|
{
|
||||||
result = result.AndAlso(ConvertGroup<T>(filter, param));
|
result = result.AndAlso(ConvertGroup<T>(filter, param));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
foreach (var filter in groups.Skip(1))
|
foreach (var filter in queryObjs.Skip(1))
|
||||||
{
|
{
|
||||||
result = result.Or(ConvertGroup<T>(filter, param));
|
result = Expression.OrElse(result, ConvertGroup<T>(filter, param));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -325,7 +325,7 @@ namespace Infrastructure
|
|||||||
{
|
{
|
||||||
foreach (var filter in filters.Skip(1))
|
foreach (var filter in filters.Skip(1))
|
||||||
{
|
{
|
||||||
result = result.Or(param.GenerateBody<T>(filter));
|
result = Expression.OrElse(result, param.GenerateBody<T>(filter));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user