mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2026-02-27 06:03:09 +08:00
Synchronization code
This commit is contained in:
@@ -1138,6 +1138,16 @@ namespace SqlSugar
|
||||
{
|
||||
return this.Select<TResult>(expression);
|
||||
}
|
||||
if (sql.StartsWith("*,"))
|
||||
{
|
||||
var columns = this.Context.EntityMaintenance.GetEntityInfo<T>()
|
||||
.Columns.Where(it => typeof(TResult).GetProperties().Any(s => s.Name.EqualCase(it.PropertyName))).Where(it => it.IsIgnore == false).ToList();
|
||||
if (columns.Any())
|
||||
{
|
||||
sql = string.Join(",", columns.Select(it => $"{SqlBuilder.GetTranslationColumnName(it.DbColumnName)} AS {SqlBuilder.GetTranslationColumnName(it.PropertyName)} "))
|
||||
+ "," + sql.TrimStart('*').TrimStart(',');
|
||||
}
|
||||
}
|
||||
if (this.QueryBuilder.TableShortName.IsNullOrEmpty())
|
||||
{
|
||||
this.QueryBuilder.TableShortName = clone.QueryBuilder.TableShortName;
|
||||
|
||||
@@ -709,28 +709,31 @@ namespace SqlSugar
|
||||
var methodInfo = callExpresion.Method;
|
||||
foreach (var item in datas)
|
||||
{
|
||||
if (callExpresion.Arguments.Count == 0)
|
||||
if (item != null)
|
||||
{
|
||||
methodInfo.Invoke(item, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
List<object> methodParameters = new List<object>();
|
||||
foreach (var callItem in callExpresion.Arguments)
|
||||
if (callExpresion.Arguments.Count == 0)
|
||||
{
|
||||
var parameter = callItem.GetType().GetProperties().FirstOrDefault(it => it.Name == "Value");
|
||||
if (parameter == null)
|
||||
{
|
||||
var value = LambdaExpression.Lambda(callItem).Compile().DynamicInvoke();
|
||||
methodParameters.Add(value);
|
||||
}
|
||||
else
|
||||
{
|
||||
var value = parameter.GetValue(callItem, null);
|
||||
methodParameters.Add(value);
|
||||
}
|
||||
methodInfo.Invoke(item, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
List<object> methodParameters = new List<object>();
|
||||
foreach (var callItem in callExpresion.Arguments)
|
||||
{
|
||||
var parameter = callItem.GetType().GetProperties().FirstOrDefault(it => it.Name == "Value");
|
||||
if (parameter == null)
|
||||
{
|
||||
var value = LambdaExpression.Lambda(callItem).Compile().DynamicInvoke();
|
||||
methodParameters.Add(value);
|
||||
}
|
||||
else
|
||||
{
|
||||
var value = parameter.GetValue(callItem, null);
|
||||
methodParameters.Add(value);
|
||||
}
|
||||
}
|
||||
methodInfo.Invoke(item, methodParameters.ToArray());
|
||||
}
|
||||
methodInfo.Invoke(item, methodParameters.ToArray());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user