Synchronization code

This commit is contained in:
sunkaixuan 2022-11-24 20:51:45 +08:00
parent ae72509ca4
commit edda8cd6cd
3 changed files with 18 additions and 3 deletions

View File

@ -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<object> 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)

View File

@ -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

View File

@ -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