Synchronization code

This commit is contained in:
sunkaixuan 2023-03-30 18:14:28 +08:00
parent e2a276e2a3
commit b4c8754480
3 changed files with 26 additions and 12 deletions

View File

@ -356,6 +356,14 @@ namespace SqlSugar
private void PreToSql()
{
if (this.UpdateBuilder.UpdateColumns.HasValue())
{
var columns = this.UpdateBuilder.UpdateColumns;
this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => GetPrimaryKeys().Select(
iit => iit.ToLower()).Contains(it.DbColumnName.ToLower())
|| columns.Contains(it.PropertyName, StringComparer.OrdinalIgnoreCase)
|| columns.Contains(it.DbColumnName, StringComparer.OrdinalIgnoreCase)).ToList();
}
UpdateBuilder.PrimaryKeys = GetPrimaryKeys();
if (this.IsWhereColumns)

View File

@ -80,11 +80,11 @@ namespace SqlSugar
public virtual int ExecuteCommand()
{
if (this.UpdateBuilder.UpdateColumns.HasValue())
{
var columns = this.UpdateBuilder.UpdateColumns;
this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => GetPrimaryKeys().Select(iit => iit.ToLower()).Contains(it.DbColumnName.ToLower()) || columns.Contains(it.PropertyName, StringComparer.OrdinalIgnoreCase)).ToList();
}
//if (this.UpdateBuilder.UpdateColumns.HasValue())
//{
// var columns = this.UpdateBuilder.UpdateColumns;
// this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => GetPrimaryKeys().Select(iit => iit.ToLower()).Contains(it.DbColumnName.ToLower()) || columns.Contains(it.PropertyName, StringComparer.OrdinalIgnoreCase)).ToList();
//}
if (this.IsTrakingDatas() || IsUpdateNullByList())
{
int trakRows = DatasTrackingExecommand();
@ -122,11 +122,11 @@ namespace SqlSugar
public virtual async Task<int> ExecuteCommandAsync()
{
if (this.UpdateBuilder.UpdateColumns.HasValue())
{
var columns = this.UpdateBuilder.UpdateColumns;
this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => GetPrimaryKeys().Select(iit => iit.ToLower()).Contains(it.DbColumnName.ToLower()) || columns.Contains(it.PropertyName, StringComparer.OrdinalIgnoreCase)).ToList();
}
//if (this.UpdateBuilder.UpdateColumns.HasValue())
//{
// var columns = this.UpdateBuilder.UpdateColumns;
// this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => GetPrimaryKeys().Select(iit => iit.ToLower()).Contains(it.DbColumnName.ToLower()) || columns.Contains(it.PropertyName, StringComparer.OrdinalIgnoreCase)).ToList();
//}
if (this.IsTrakingDatas()||IsUpdateNullByList())
{
int trakRows =await DatasTrackingExecommandAsync();

View File

@ -55,7 +55,10 @@ namespace SqlSugar
result = (OrderIndex == 0 ? "ORDER BY " : ",") + SubTools.GetMethodValueSubJoin(this.Context, argExp, ResolveExpressType.FieldMultiple);
}
var selfParameterName = this.Context.GetTranslationColumnName((argExp as LambdaExpression).Parameters.First().Name) + UtilConstants.Dot;
result = result.Replace(selfParameterName, SubTools.GetSubReplace(this.Context));
if (this.Context.JoinIndex == 0)
{
result = result.Replace(selfParameterName, SubTools.GetSubReplace(this.Context));
}
return result;
}
}
@ -104,7 +107,10 @@ namespace SqlSugar
result = (OrderIndex == 0 ? "ORDER BY " : ",") + SubTools.GetMethodValueSubJoin(this.Context, argExp, ResolveExpressType.FieldMultiple) + " DESC";
}
var selfParameterName = this.Context.GetTranslationColumnName((argExp as LambdaExpression).Parameters.First().Name) + UtilConstants.Dot;
result = result.Replace(selfParameterName, string.Empty);
if (this.Context.JoinIndex == 0)
{
result = result.Replace(selfParameterName, string.Empty);
}
return result;
}
}