Synchronization code

This commit is contained in:
sunkaixuan
2023-03-15 15:58:56 +08:00
parent 3dc82f0d08
commit d1c29d672f
2 changed files with 15 additions and 10 deletions

View File

@@ -85,7 +85,7 @@ namespace SqlSugar
{ {
return EnableDiffLogEvent(businessData); return EnableDiffLogEvent(businessData);
} }
else else
{ {
return this; return this;
} }
@@ -159,7 +159,7 @@ namespace SqlSugar
var columnInfo = EntityInfo.Columns.Single(it => it.PropertyName == entityPropertyName); var columnInfo = EntityInfo.Columns.Single(it => it.PropertyName == entityPropertyName);
var entityValue = columnInfo.PropertyInfo.GetValue(deleteObj, null); var entityValue = columnInfo.PropertyInfo.GetValue(deleteObj, null);
var tempequals = DeleteBuilder.WhereInEqualTemplate; var tempequals = DeleteBuilder.WhereInEqualTemplate;
if (this.Context.CurrentConnectionConfig.MoreSettings != null && this.Context.CurrentConnectionConfig.MoreSettings.DisableNvarchar == true) if (this.Context.CurrentConnectionConfig.MoreSettings != null && this.Context.CurrentConnectionConfig.MoreSettings.DisableNvarchar == true)
{ {
tempequals = $"{SqlBuilder.SqlTranslationLeft}{{0}}{SqlBuilder.SqlTranslationRight}='{{1}}' "; tempequals = $"{SqlBuilder.SqlTranslationLeft}{{0}}{SqlBuilder.SqlTranslationRight}='{{1}}' ";
} }
@@ -178,13 +178,13 @@ namespace SqlSugar
{ {
andString.AppendFormat("\"{0}\"={1} ", primaryField.ToLower(), new PostgreSQLExpressionContext().GetValue(entityValue)); andString.AppendFormat("\"{0}\"={1} ", primaryField.ToLower(), new PostgreSQLExpressionContext().GetValue(entityValue));
} }
else if (this.Context.CurrentConnectionConfig.DbType == DbType.SqlServer && entityValue != null && UtilMethods.GetUnderType(entityValue.GetType()) == UtilConstants.DateType) else if (this.Context.CurrentConnectionConfig.DbType == DbType.SqlServer && entityValue != null && UtilMethods.GetUnderType(entityValue.GetType()) == UtilConstants.DateType)
{ {
andString.AppendFormat("\"{0}\"={1} ", primaryField,$"'{entityValue.ObjToDate().ToString("yyyy-MM-dd HH:mm:ss.fff")}'"); andString.AppendFormat("\"{0}\"={1} ", primaryField, $"'{entityValue.ObjToDate().ToString("yyyy-MM-dd HH:mm:ss.fff")}'");
} }
else else
{ {
if ((columnInfo.SqlParameterDbType.ObjToString()==System.Data.DbType.AnsiString.ObjToString()) ||!(entityValue is string)||this.Context.CurrentConnectionConfig?.MoreSettings?.DisableNvarchar==true) if ((columnInfo.SqlParameterDbType.ObjToString() == System.Data.DbType.AnsiString.ObjToString()) || !(entityValue is string) || this.Context.CurrentConnectionConfig?.MoreSettings?.DisableNvarchar == true)
{ {
tempequals = tempequals.Replace("=N'", "='"); tempequals = tempequals.Replace("=N'", "='");
} }
@@ -206,7 +206,7 @@ namespace SqlSugar
var whereString = expResult.GetResultString(); var whereString = expResult.GetResultString();
if (expression.ToString().Contains("Subqueryable()")) { if (expression.ToString().Contains("Subqueryable()")) {
whereString = whereString.Replace(this.SqlBuilder.GetTranslationColumnName(expression.Parameters.First().Name) + ".", this.SqlBuilder.GetTranslationTableName(this.EntityInfo.DbTableName) + "."); whereString = whereString.Replace(this.SqlBuilder.GetTranslationColumnName(expression.Parameters.First().Name) + ".", this.SqlBuilder.GetTranslationTableName(this.EntityInfo.DbTableName) + ".");
} }
else if (expResult.IsNavicate) else if (expResult.IsNavicate)
{ {
whereString = whereString.Replace(expression.Parameters.First().Name + ".", this.SqlBuilder.GetTranslationTableName(this.EntityInfo.DbTableName) + "."); whereString = whereString.Replace(expression.Parameters.First().Name + ".", this.SqlBuilder.GetTranslationTableName(this.EntityInfo.DbTableName) + ".");
@@ -269,7 +269,7 @@ namespace SqlSugar
} }
public IDeleteable<T> Where(List<IConditionalModel> conditionalModels) public IDeleteable<T> Where(List<IConditionalModel> conditionalModels)
{ {
if (conditionalModels.Count == 0) if (conditionalModels.Count == 0)
{ {
return Where("1=2"); return Where("1=2");
} }
@@ -278,18 +278,22 @@ namespace SqlSugar
result.Where(sql.Key, sql.Value); result.Where(sql.Key, sql.Value);
return result; return result;
} }
public IDeleteable<T> WhereColumns(T data, Expression<Func<T, object>> columns)
{
return WhereColumns(new List<T>() { data },columns);
}
public IDeleteable<T> WhereColumns(List<T> list,Expression<Func<T, object>> columns) public IDeleteable<T> WhereColumns(List<T> list,Expression<Func<T, object>> columns)
{ {
if (this.GetPrimaryKeys().IsNullOrEmpty()) if (this.GetPrimaryKeys().IsNullOrEmpty())
{ {
tempPrimaryKeys = DeleteBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray().Select(it => this.SqlBuilder.GetNoTranslationColumnName(it)).ToList(); tempPrimaryKeys = DeleteBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray().Select(it => this.SqlBuilder.GetNoTranslationColumnName(it)).ToList();
} }
this.Where(list); else if (columns != null && tempPrimaryKeys.IsNullOrEmpty())
if (columns != null&& tempPrimaryKeys.IsNullOrEmpty())
{ {
tempPrimaryKeys = DeleteBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray().Select(it => this.SqlBuilder.GetNoTranslationColumnName(it)).ToList(); tempPrimaryKeys = DeleteBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray().Select(it => this.SqlBuilder.GetNoTranslationColumnName(it)).ToList();
} }
this.Where(list);
return this; return this;
} }
public IDeleteable<T> WhereColumns(List<Dictionary<string, object>> list) public IDeleteable<T> WhereColumns(List<Dictionary<string, object>> list)

View File

@@ -31,6 +31,7 @@ namespace SqlSugar
IDeleteable<T> Where(string whereString, SugarParameter parameter); IDeleteable<T> Where(string whereString, SugarParameter parameter);
IDeleteable<T> Where(string whereString, SugarParameter[] parameters); IDeleteable<T> Where(string whereString, SugarParameter[] parameters);
IDeleteable<T> Where(string whereString, List<SugarParameter> parameters); IDeleteable<T> Where(string whereString, List<SugarParameter> parameters);
IDeleteable<T> WhereColumns(T data, Expression<Func<T, object>> columns);
IDeleteable<T> WhereColumns(List<T> list,Expression<Func<T, object>> columns); IDeleteable<T> WhereColumns(List<T> list,Expression<Func<T, object>> columns);
IDeleteable<T> WhereColumns(List<Dictionary<string,object>> columns); IDeleteable<T> WhereColumns(List<Dictionary<string,object>> columns);
IDeleteable<T> Where(List<IConditionalModel> conditionalModels); IDeleteable<T> Where(List<IConditionalModel> conditionalModels);