mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-07-31 15:56:25 +08:00
Update core
This commit is contained in:
parent
58f0a8bc7b
commit
2735463160
@ -1313,7 +1313,15 @@ namespace SqlSugar
|
||||
var entity = this.Context.EntityMaintenance.GetEntityInfo<ParameterT>();
|
||||
var queryableContext = this.Context.TempItems["Queryable_To_Context"] as MapperContext<ParameterT>;
|
||||
var list = queryableContext.list;
|
||||
var pkName = (((mappingFiled as LambdaExpression).Body as UnaryExpression).Operand as MemberExpression).Member.Name;
|
||||
var pkName = "";
|
||||
if ((mappingFiled as LambdaExpression).Body is UnaryExpression)
|
||||
{
|
||||
pkName = (((mappingFiled as LambdaExpression).Body as UnaryExpression).Operand as MemberExpression).Member.Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
pkName = ((mappingFiled as LambdaExpression).Body as MemberExpression).Member.Name;
|
||||
}
|
||||
var key = thisFiled.ToString() +typeof(ParameterT).FullName + typeof(T).FullName;
|
||||
var ids = list.Select(it => it.GetType().GetProperty(pkName).GetValue(it)).ToArray();
|
||||
if (queryableContext.TempChildLists == null)
|
||||
@ -1332,7 +1340,15 @@ namespace SqlSugar
|
||||
});
|
||||
queryableContext.TempChildLists[key]= result;
|
||||
}
|
||||
var name = (((thisFiled as LambdaExpression).Body as UnaryExpression).Operand as MemberExpression).Member.Name;
|
||||
var name = "";
|
||||
if((thisFiled as LambdaExpression).Body is UnaryExpression)
|
||||
{
|
||||
name = (((thisFiled as LambdaExpression).Body as UnaryExpression).Operand as MemberExpression).Member.Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
name = ((thisFiled as LambdaExpression).Body as MemberExpression).Member.Name;
|
||||
}
|
||||
var pkValue = parameter.GetType().GetProperty(pkName).GetValue(parameter);
|
||||
result = result.Where(it => it.GetType().GetProperty(name).GetValue(it).ObjToString() == pkValue.ObjToString()).ToList();
|
||||
return result;
|
||||
@ -2817,6 +2833,7 @@ namespace SqlSugar
|
||||
_Size=it._Size
|
||||
}).ToList();
|
||||
}
|
||||
asyncQueryableBuilder.Includes = this.QueryBuilder.Includes;
|
||||
asyncQueryableBuilder.Take = this.QueryBuilder.Take;
|
||||
asyncQueryableBuilder.Skip = this.QueryBuilder.Skip;
|
||||
asyncQueryableBuilder.SelectValue = this.QueryBuilder.SelectValue;
|
||||
|
@ -17,6 +17,19 @@ namespace SqlSugar
|
||||
public MapperExpressionResolve(Expression expression, InvalidOperationException ex)
|
||||
{
|
||||
this.expression = expression;
|
||||
NavgateExpression navgate = new NavgateExpression();
|
||||
if (navgate.IsNavgate(expression))
|
||||
{
|
||||
navgate.Execute(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
OldNavgate(expression, ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void OldNavgate(Expression expression, InvalidOperationException ex)
|
||||
{
|
||||
this.ex = ex;
|
||||
this.mappers = CallContext.MapperExpression.Value;
|
||||
Error01();
|
||||
|
@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
internal class NavgateExpression
|
||||
{
|
||||
internal bool IsNavgate(Expression expression)
|
||||
{
|
||||
var exp = expression;
|
||||
if (exp is UnaryExpression)
|
||||
{
|
||||
exp = (exp as UnaryExpression).Operand;
|
||||
}
|
||||
if (exp is MemberExpression)
|
||||
{
|
||||
var memberExp=exp as MemberExpression;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
internal void Execute(MapperExpressionResolve mapperExpressionResolve)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
<package >
|
||||
<metadata>
|
||||
<id>SqlSugarCore</id>
|
||||
<version>5.0.6.8-preview01</version>
|
||||
<version>5.0.6.8-preview02</version>
|
||||
<authors>sunkaixuan</authors>
|
||||
<owners>果糖大数据科技</owners>
|
||||
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>
|
||||
|
Loading…
Reference in New Issue
Block a user