mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-05-16 04:59:34 +08:00
Update nav query
This commit is contained in:
parent
fb3a9ea018
commit
e62496e46f
@ -284,20 +284,9 @@ namespace SqlSugar
|
||||
foreach (var item in arg)
|
||||
{
|
||||
var name=members[index].Name;
|
||||
if (item is MethodCallExpression)
|
||||
if (item is MethodCallExpression)
|
||||
{
|
||||
var method = (item as MethodCallExpression);
|
||||
if (method.Method.Name == "ToList"&&method.Arguments.Count>0&& method.Arguments[0] is MethodCallExpression)
|
||||
{
|
||||
method = (MethodCallExpression)method.Arguments[0];
|
||||
}
|
||||
if (method.Method.Name == "Select")
|
||||
{
|
||||
if (!item.ToString().Contains("Subqueryable"))
|
||||
{
|
||||
result.Add(new NavMappingColumn() { IsError = true });
|
||||
}
|
||||
}
|
||||
AddCallError(result, item);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
@ -309,15 +298,35 @@ namespace SqlSugar
|
||||
MemberAssignment memberAssignment = (MemberAssignment)item;
|
||||
var key= memberAssignment.Member.Name;
|
||||
var value = memberAssignment.Expression;
|
||||
if (memberAssignment.Expression is MemberExpression)
|
||||
if (memberAssignment.Expression is MemberExpression)
|
||||
{
|
||||
result.Add(new NavMappingColumn() { Key=key,Value= ExpressionTool.GetMemberName(memberAssignment.Expression) });
|
||||
result.Add(new NavMappingColumn() { Key = key, Value = ExpressionTool.GetMemberName(memberAssignment.Expression) });
|
||||
}
|
||||
else if(memberAssignment.Expression is MethodCallExpression)
|
||||
{
|
||||
AddCallError(result, memberAssignment.Expression);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static void AddCallError(List<NavMappingColumn> result, Expression item)
|
||||
{
|
||||
var method = (item as MethodCallExpression);
|
||||
if (method.Method.Name == "ToList" && method.Arguments.Count > 0 && method.Arguments[0] is MethodCallExpression)
|
||||
{
|
||||
method = (MethodCallExpression)method.Arguments[0];
|
||||
}
|
||||
if (method.Method.Name == "Select")
|
||||
{
|
||||
if (!item.ToString().Contains("Subqueryable"))
|
||||
{
|
||||
result.Add(new NavMappingColumn() { IsError = true });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static bool isGroup<T, TResult>(Expression<Func<T, TResult>> expression, QueryableProvider<T> queryableProvider)
|
||||
{
|
||||
var isGroup=queryableProvider.QueryBuilder.GetGroupByString.HasValue();
|
||||
|
Loading…
Reference in New Issue
Block a user