Update .net core project

This commit is contained in:
sunkaixuan
2022-06-14 12:55:52 +08:00
parent be957e0a1a
commit eec3f49f5f
9 changed files with 33 additions and 3 deletions

View File

@@ -184,8 +184,12 @@ namespace SqlSugar
{ {
var expResult = DeleteBuilder.GetExpressionValue(expression, ResolveExpressType.WhereSingle); var expResult = DeleteBuilder.GetExpressionValue(expression, ResolveExpressType.WhereSingle);
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)
{
whereString = whereString.Replace(expression.Parameters.First().Name + ".", this.SqlBuilder.GetTranslationTableName(this.EntityInfo.DbTableName) + ".");
} }
DeleteBuilder.WhereInfos.Add(whereString); DeleteBuilder.WhereInfos.Add(whereString);
return this; return this;

View File

@@ -213,6 +213,10 @@ namespace SqlSugar
dataTable.TableName = this.queryable.SqlBuilder.GetTranslationTableName(tableName); dataTable.TableName = this.queryable.SqlBuilder.GetTranslationTableName(tableName);
DataTable dt = GetCopyWriteDataTable(dataTable); DataTable dt = GetCopyWriteDataTable(dataTable);
IFastBuilder buider = GetBuider(); IFastBuilder buider = GetBuider();
if (dt.Columns.Count != dataTable.Columns.Count)
{
ActionIgnoreColums(whereColumns, updateColumns, dt, buider.IsActionUpdateColumns);
}
buider.Context = context; buider.Context = context;
await buider.CreateTempAsync<object>(dt); await buider.CreateTempAsync<object>(dt);
await buider.ExecuteBulkCopyAsync(dt); await buider.ExecuteBulkCopyAsync(dt);

View File

@@ -154,6 +154,7 @@ namespace SqlSugar
{ {
resolveExpress.PgSqlIsAutoToLower = true; resolveExpress.PgSqlIsAutoToLower = true;
} }
resolveExpress.SugarContext = new ExpressionOutParameter() { Context = this.Context };
resolveExpress.MappingColumns = Context.MappingColumns; resolveExpress.MappingColumns = Context.MappingColumns;
resolveExpress.MappingTables = Context.MappingTables; resolveExpress.MappingTables = Context.MappingTables;
resolveExpress.IgnoreComumnList = Context.IgnoreColumns; resolveExpress.IgnoreComumnList = Context.IgnoreColumns;

View File

@@ -142,6 +142,7 @@ namespace SqlSugar
resolveExpress.IgnoreComumnList = Context.IgnoreColumns; resolveExpress.IgnoreComumnList = Context.IgnoreColumns;
resolveExpress.SqlFuncServices = Context.CurrentConnectionConfig.ConfigureExternalServices == null ? null : Context.CurrentConnectionConfig.ConfigureExternalServices.SqlFuncServices; resolveExpress.SqlFuncServices = Context.CurrentConnectionConfig.ConfigureExternalServices == null ? null : Context.CurrentConnectionConfig.ConfigureExternalServices.SqlFuncServices;
}; };
resolveExpress.SugarContext = new ExpressionOutParameter() { Context = this.Context };
resolveExpress.Resolve(expression, resolveType); resolveExpress.Resolve(expression, resolveType);
this.Parameters.AddRange(resolveExpress.Parameters); this.Parameters.AddRange(resolveExpress.Parameters);
var result = resolveExpress.Result; var result = resolveExpress.Result;

View File

@@ -416,6 +416,10 @@ namespace SqlSugar
{ {
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)
{
whereString = whereString.Replace(expression.Parameters.First().Name + ".", this.SqlBuilder.GetTranslationTableName(this.EntityInfo.DbTableName) + ".");
}
UpdateBuilder.WhereValues.Add(whereString); UpdateBuilder.WhereValues.Add(whereString);
return this; return this;
} }

View File

@@ -9,6 +9,7 @@ namespace SqlSugar
{ {
public bool IsLockCurrentParameter { get; set; } public bool IsLockCurrentParameter { get; set; }
public bool IsUpper { get; set; } public bool IsUpper { get; set; }
public bool IsNavicate { get; set; }
private ExpressionParameter _CurrentParameter; private ExpressionParameter _CurrentParameter;
public ExpressionParameter CurrentParameter public ExpressionParameter CurrentParameter
{ {

View File

@@ -682,7 +682,16 @@ namespace SqlSugar
} }
return result; ; return result; ;
} }
protected void SetNavigateResult()
{
if (this.Context != null)
{
if (this.Context.Result != null)
{
this.Context.Result.IsNavicate = true;
}
}
}
private string GetAsName(Expression item, object shortName, PropertyInfo property) private string GetAsName(Expression item, object shortName, PropertyInfo property)
{ {
string asName; string asName;

View File

@@ -76,6 +76,7 @@ namespace SqlSugar
if (nav.IsNavgate(expression)) if (nav.IsNavgate(expression))
{ {
var value = nav.GetSql(); var value = nav.GetSql();
SetNavigateResult();
this.Context.SingleTableNameSubqueryShortName = nav.ShorName; this.Context.SingleTableNameSubqueryShortName = nav.ShorName;
if (isSetTempData) if (isSetTempData)
{ {
@@ -89,6 +90,7 @@ namespace SqlSugar
else if (navN.IsNavgate(expression)) else if (navN.IsNavgate(expression))
{ {
var value = navN.GetMemberSql(); var value = navN.GetMemberSql();
SetNavigateResult();
this.Context.SingleTableNameSubqueryShortName = navN.shorName; this.Context.SingleTableNameSubqueryShortName = navN.shorName;
if (isSetTempData) if (isSetTempData)
{ {

View File

@@ -248,6 +248,7 @@ namespace SqlSugar
if (nav.IsNavgate(express)) if (nav.IsNavgate(express))
{ {
var sql = nav.GetSql(); var sql = nav.GetSql();
SetNavigateResult();
this.Context.SingleTableNameSubqueryShortName = nav.ShorName; this.Context.SingleTableNameSubqueryShortName = nav.ShorName;
base.AppendValue(parameter, isLeft, sql); base.AppendValue(parameter, isLeft, sql);
return; return;
@@ -257,6 +258,7 @@ namespace SqlSugar
if (nav2.IsNavgate(express)) if (nav2.IsNavgate(express))
{ {
var sql = nav2.GetSql(); var sql = nav2.GetSql();
SetNavigateResult();
this.Context.SingleTableNameSubqueryShortName = nav2.shorName; this.Context.SingleTableNameSubqueryShortName = nav2.shorName;
base.AppendValue(parameter, isLeft, sql); base.AppendValue(parameter, isLeft, sql);
return; return;
@@ -293,6 +295,8 @@ namespace SqlSugar
} }
} }
private void NativeExtensionMethod(ExpressionParameter parameter, MethodCallExpression express, bool? isLeft, string name, List<MethodCallExpressionArgs> appendArgs = null) private void NativeExtensionMethod(ExpressionParameter parameter, MethodCallExpression express, bool? isLeft, string name, List<MethodCallExpressionArgs> appendArgs = null)
{ {
var method = express.Method; var method = express.Method;