mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-10-15 18:55:07 +08:00
PgSql Support Upper Table Name
This commit is contained in:
@@ -145,6 +145,14 @@ namespace SqlSugar
|
||||
{
|
||||
ILambdaExpressions resolveExpress = this.LambdaExpressions;
|
||||
this.LambdaExpressions.Clear();
|
||||
if (this.Context.CurrentConnectionConfig.MoreSettings != null)
|
||||
{
|
||||
resolveExpress.PgSqlIsAutoToLower = this.Context.CurrentConnectionConfig.MoreSettings.PgSqlIsAutoToLower;
|
||||
}
|
||||
else
|
||||
{
|
||||
resolveExpress.PgSqlIsAutoToLower = true;
|
||||
}
|
||||
resolveExpress.MappingColumns = Context.MappingColumns;
|
||||
resolveExpress.MappingTables = Context.MappingTables;
|
||||
resolveExpress.IgnoreComumnList = Context.IgnoreColumns;
|
||||
|
@@ -99,6 +99,14 @@ namespace SqlSugar
|
||||
{
|
||||
ILambdaExpressions resolveExpress = this.LambdaExpressions;
|
||||
this.LambdaExpressions.Clear();
|
||||
if (this.Context.CurrentConnectionConfig.MoreSettings != null)
|
||||
{
|
||||
resolveExpress.PgSqlIsAutoToLower = this.Context.CurrentConnectionConfig.MoreSettings.PgSqlIsAutoToLower;
|
||||
}
|
||||
else
|
||||
{
|
||||
resolveExpress.PgSqlIsAutoToLower = true;
|
||||
}
|
||||
resolveExpress.MappingColumns = Context.MappingColumns;
|
||||
resolveExpress.MappingTables = Context.MappingTables;
|
||||
resolveExpress.IgnoreComumnList = Context.IgnoreColumns;
|
||||
|
@@ -220,6 +220,14 @@ namespace SqlSugar
|
||||
resolveType = resolveType.IsIn(ResolveExpressType.SelectSingle, ResolveExpressType.FieldSingle) ? ResolveExpressType.WhereSingle : ResolveExpressType.WhereMultiple;
|
||||
}
|
||||
this.LambdaExpressions.Clear();
|
||||
if (this.Context.CurrentConnectionConfig.MoreSettings != null)
|
||||
{
|
||||
resolveExpress.PgSqlIsAutoToLower = this.Context.CurrentConnectionConfig.MoreSettings.PgSqlIsAutoToLower;
|
||||
}
|
||||
else
|
||||
{
|
||||
resolveExpress.PgSqlIsAutoToLower = true;
|
||||
}
|
||||
resolveExpress.JoinQueryInfos = Builder.QueryBuilder.JoinQueryInfos;
|
||||
resolveExpress.IsSingle = IsSingle();
|
||||
resolveExpress.MappingColumns = Context.MappingColumns;
|
||||
|
@@ -116,6 +116,14 @@ namespace SqlSugar
|
||||
{
|
||||
ILambdaExpressions resolveExpress = this.LambdaExpressions;
|
||||
this.LambdaExpressions.Clear();
|
||||
if (this.Context.CurrentConnectionConfig.MoreSettings != null)
|
||||
{
|
||||
resolveExpress.PgSqlIsAutoToLower = this.Context.CurrentConnectionConfig.MoreSettings.PgSqlIsAutoToLower;
|
||||
}
|
||||
else
|
||||
{
|
||||
resolveExpress.PgSqlIsAutoToLower = true;
|
||||
}
|
||||
if (isMapping)
|
||||
{
|
||||
resolveExpress.MappingColumns = Context.MappingColumns;
|
||||
|
@@ -13,6 +13,7 @@ namespace SqlSugar
|
||||
/// Some MYSQL databases do not support NVarchar set true
|
||||
/// </summary>
|
||||
public bool MySqlDisableNarvchar { get; set; }
|
||||
public bool PgSqlIsAutoToLower = true;
|
||||
public int DefaultCacheDurationInSeconds { get; set; }
|
||||
}
|
||||
}
|
||||
|
@@ -42,6 +42,7 @@ namespace SqlSugar
|
||||
public MappingColumnList MappingColumns { get; set; }
|
||||
public MappingTableList MappingTables { get; set; }
|
||||
public IgnoreColumnList IgnoreComumnList { get; set; }
|
||||
public bool PgSqlIsAutoToLower { get; set; }
|
||||
public List<SqlFuncExternal> SqlFuncServices { get; set; }
|
||||
public bool IsSingle
|
||||
{
|
||||
@@ -138,6 +139,7 @@ namespace SqlSugar
|
||||
copyContext.SqlFuncServices = this.SqlFuncServices;
|
||||
copyContext.InitMappingInfo = this.InitMappingInfo;
|
||||
copyContext.RefreshMapping = this.RefreshMapping;
|
||||
copyContext.PgSqlIsAutoToLower = this.PgSqlIsAutoToLower;
|
||||
return copyContext;
|
||||
}
|
||||
#endregion
|
||||
|
@@ -26,6 +26,7 @@ namespace SqlSugar
|
||||
string SingleTableNameSubqueryShortName { get; set; }
|
||||
Action<Type> InitMappingInfo { get; set; }
|
||||
Action RefreshMapping { get; set; }
|
||||
bool PgSqlIsAutoToLower { get; set; }
|
||||
|
||||
string GetAsString(string fieldName, string fieldValue);
|
||||
void Resolve(Expression expression, ResolveExpressType resolveType);
|
||||
|
@@ -34,11 +34,20 @@ namespace SqlSugar
|
||||
return "select current_date";
|
||||
}
|
||||
}
|
||||
|
||||
public bool isAutoToLower
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.Context.CurrentConnectionConfig.MoreSettings == null) return true;
|
||||
return this.Context.CurrentConnectionConfig.MoreSettings.PgSqlIsAutoToLower;
|
||||
}
|
||||
}
|
||||
public override string GetTranslationColumnName(string propertyName)
|
||||
{
|
||||
if (propertyName.Contains(SqlTranslationLeft)) return propertyName;
|
||||
else
|
||||
return SqlTranslationLeft + propertyName.ToLower() + SqlTranslationRight;
|
||||
return SqlTranslationLeft + propertyName.ToLower(isAutoToLower) + SqlTranslationRight;
|
||||
}
|
||||
|
||||
//public override string GetNoTranslationColumnName(string name)
|
||||
@@ -55,7 +64,7 @@ namespace SqlSugar
|
||||
.FirstOrDefault(it =>
|
||||
it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase) &&
|
||||
it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
return (mappingInfo == null ? SqlTranslationLeft + propertyName.ToLower() + SqlTranslationRight : SqlTranslationLeft + mappingInfo.DbColumnName.ToLower() + SqlTranslationRight);
|
||||
return (mappingInfo == null ? SqlTranslationLeft + propertyName.ToLower(isAutoToLower) + SqlTranslationRight : SqlTranslationLeft + mappingInfo.DbColumnName.ToLower(isAutoToLower) + SqlTranslationRight);
|
||||
}
|
||||
|
||||
public override string GetTranslationTableName(string name)
|
||||
@@ -69,7 +78,7 @@ namespace SqlSugar
|
||||
name = (mappingInfo == null ? name : mappingInfo.DbTableName);
|
||||
if (name.Contains(".")&& !name.Contains("("))
|
||||
{
|
||||
return string.Join(".", name.ToLower().Split('.').Select(it => SqlTranslationLeft + it + SqlTranslationRight));
|
||||
return string.Join(".", name.ToLower(isAutoToLower).Split('.').Select(it => SqlTranslationLeft + it + SqlTranslationRight));
|
||||
}
|
||||
else if (name.Contains("("))
|
||||
{
|
||||
@@ -81,7 +90,7 @@ namespace SqlSugar
|
||||
}
|
||||
else
|
||||
{
|
||||
return SqlTranslationLeft + name.ToLower().TrimEnd('"').TrimStart('"') + SqlTranslationRight;
|
||||
return SqlTranslationLeft + name.ToLower(isAutoToLower).TrimEnd('"').TrimStart('"') + SqlTranslationRight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -25,7 +25,14 @@ namespace SqlSugar
|
||||
}
|
||||
public override string GetTranslationText(string name)
|
||||
{
|
||||
return SqlTranslationLeft + name.ToLower() + SqlTranslationRight;
|
||||
return SqlTranslationLeft + name.ToLower(isAutoToLower) + SqlTranslationRight;
|
||||
}
|
||||
public bool isAutoToLower
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.PgSqlIsAutoToLower;
|
||||
}
|
||||
}
|
||||
public override string GetTranslationTableName(string entityName, bool isMapping = true)
|
||||
{
|
||||
@@ -46,7 +53,7 @@ namespace SqlSugar
|
||||
else if (isMapping)
|
||||
{
|
||||
var mappingInfo = this.MappingTables.FirstOrDefault(it => it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase));
|
||||
return SqlTranslationLeft + (mappingInfo == null ? entityName : mappingInfo.DbTableName).ToLower() + SqlTranslationRight;
|
||||
return SqlTranslationLeft + (mappingInfo == null ? entityName : mappingInfo.DbTableName).ToLower(isAutoToLower) + SqlTranslationRight;
|
||||
}
|
||||
else if (isComplex)
|
||||
{
|
||||
@@ -79,11 +86,11 @@ namespace SqlSugar
|
||||
if (this.MappingColumns.HasValue())
|
||||
{
|
||||
var mappingInfo = this.MappingColumns.SingleOrDefault(it => it.EntityName == entityName && it.PropertyName == propertyName);
|
||||
return (mappingInfo == null ? propertyName : mappingInfo.DbColumnName).ToLower();
|
||||
return (mappingInfo == null ? propertyName : mappingInfo.DbColumnName).ToLower(isAutoToLower);
|
||||
}
|
||||
else
|
||||
{
|
||||
return propertyName.ToLower();
|
||||
return propertyName.ToLower(isAutoToLower);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -37,5 +37,12 @@ namespace SqlSugar
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
internal static string ToLower(this string value ,bool isAutoToLower)
|
||||
{
|
||||
if (value == null) return null;
|
||||
if (isAutoToLower == false) return value;
|
||||
return value.ToLower();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user