diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/FastestProvider/FastestProvider.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/FastestProvider/FastestProvider.cs index 8dce2dd0d..585cfeaba 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/FastestProvider/FastestProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/FastestProvider/FastestProvider.cs @@ -246,12 +246,15 @@ namespace SqlSugar } public async Task BulkMergeAsync(List datas, Expression> whereColumnsExp, Expression> updateColumnsExp) - { + { + var columnInfos = this.context.EntityMaintenance.GetEntityInfo().Columns; // 1. 获取 whereColumns var whereColumns =ExpressionTool.GetNewExpressionItemListNew((whereColumnsExp as LambdaExpression).Body).Select(it=>it.Key).ToArray(); // 2. 获取 updateColumns - var updateColumns = ExpressionTool.GetNewExpressionItemListNew((updateColumnsExp as LambdaExpression).Body).Select(it => it.Key).ToArray(); + var updateColumns = ExpressionTool.GetNewExpressionItemListNew((updateColumnsExp as LambdaExpression).Body).Select(it => it.Key).ToArray(); + updateColumns = updateColumns.Select(s => + columnInfos.Where(ec => ec.DbColumnName.EqualCase(s)|| ec.PropertyName.EqualCase(s)).FirstOrDefault()?.DbColumnName ?? s).ToArray(); // 3. 调用 BulkMergeAsync return await BulkMergeAsync(datas, whereColumns, updateColumns); }