From edda8cd6cd5bec3cb6de8c863232b25f05e16812 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 24 Nov 2022 20:51:45 +0800 Subject: [PATCH] Synchronization code --- .../QueryableProvider/NavigatManager.cs | 18 ++++++++++++++++-- .../SqlSugar/Interface/IDbMaintenance.cs | 1 + .../DbMaintenance/QuestDBDbMaintenance.cs | 2 +- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/NavigatManager.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/NavigatManager.cs index 264a8063e..a50896f44 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/NavigatManager.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/NavigatManager.cs @@ -609,6 +609,7 @@ namespace SqlSugar else { var pkInfo = entityInfo.Columns.FirstOrDefault(x => x.IsPrimarykey); + result.SelectString = ""; if (pkInfo != null) { var pkName = pkInfo.DbColumnName; @@ -622,6 +623,19 @@ namespace SqlSugar AppColumns(result, queryable, navColumn.DbColumnName); } } + foreach (var nav in entityInfo.Columns.Where(x => x.Navigat != null && x.Navigat.NavigatType == NavigateType.OneToMany&& x.Navigat.Name2!=null)) + { + var navColumn = entityInfo.Columns.FirstOrDefault(it => it.PropertyName == nav.Navigat.Name2); + if (navColumn != null) + { + AppColumns(result, queryable, navColumn.DbColumnName); + } + } + result.SelectString = result.SelectString.TrimStart(','); + if (result.SelectString == "") + { + result.SelectString = null; + } } if (properyName != null) { @@ -733,9 +747,9 @@ namespace SqlSugar private static void AppColumns(SqlInfo result, ISugarQueryable queryable, string columnName) { var selectPkName = queryable.SqlBuilder.GetTranslationColumnName(columnName); - if (result.SelectString.HasValue() && !result.SelectString.ToLower().Contains(selectPkName.ToLower())) + if (result.SelectString!=null && !result.SelectString.ToLower().Contains(selectPkName.ToLower())) { - result.SelectString = result.SelectString + "," + selectPkName; + result.SelectString = result.SelectString + "," + (selectPkName +" AS "+ selectPkName); } } public void CheckHasRootShortName(Expression rootExpression, Expression childExpression) diff --git a/Src/Asp.Net/SqlSugar/Interface/IDbMaintenance.cs b/Src/Asp.Net/SqlSugar/Interface/IDbMaintenance.cs index 299339276..a39de2c10 100644 --- a/Src/Asp.Net/SqlSugar/Interface/IDbMaintenance.cs +++ b/Src/Asp.Net/SqlSugar/Interface/IDbMaintenance.cs @@ -25,6 +25,7 @@ namespace SqlSugar bool IsIdentity(string tableName, string column); bool IsAnyConstraint(string ConstraintName); bool IsAnySystemTablePermissions(); + bool IsAnyProcedure(string procName); #endregion #region DDL diff --git a/Src/Asp.Net/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs b/Src/Asp.Net/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs index 988aeb987..e1ad78e58 100644 --- a/Src/Asp.Net/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs +++ b/Src/Asp.Net/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs @@ -170,7 +170,7 @@ namespace SqlSugar return " Select count(1) from (SELECT to_regclass('{0}') as c ) t where t.c is not null"; } } - + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion #region Check