From da0a9aa76efbfbbfce7ab2400b8be234d853dc43 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 25 Aug 2017 22:52:33 +0800 Subject: [PATCH] Code optimization --- .../ExpressionsToSql/ExpressionContext.cs | 42 +++++++++---------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ExpressionContext.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ExpressionContext.cs index 506170fc7..d93a217d4 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ExpressionContext.cs @@ -105,34 +105,30 @@ namespace SqlSugar { Check.ArgumentNullException(entityName, string.Format(ErrorMessage.ObjNotExist, "Table Name")); if (IsTranslationText(entityName)) return entityName; - if (isMapping && this.MappingTables.IsValuable()) + isMapping = isMapping && this.MappingTables.IsValuable(); + var isComplex = entityName.Contains("."); + if (isMapping && isComplex) { - if (entityName.Contains(".")) + var columnInfo = entityName.Split('.'); + var mappingInfo = this.MappingTables.FirstOrDefault(it => it.EntityName.Equals(columnInfo.Last(), StringComparison.CurrentCultureIgnoreCase)); + if (mappingInfo != null) { - var columnInfo = entityName.Split('.'); - var mappingInfo = this.MappingTables.FirstOrDefault(it => it.EntityName.Equals(columnInfo.Last(), StringComparison.CurrentCultureIgnoreCase)); - if (mappingInfo != null) - { - columnInfo[columnInfo.Length - 1] = mappingInfo.EntityName; - } - return string.Join(".", columnInfo.Select(it => GetTranslationText(it))); - } - else - { - var mappingInfo = this.MappingTables.FirstOrDefault(it => it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase)); - return SqlTranslationLeft+ (mappingInfo == null ? entityName : mappingInfo.EntityName) + SqlTranslationRight; + columnInfo[columnInfo.Length - 1] = mappingInfo.EntityName; } + return string.Join(".", columnInfo.Select(it => GetTranslationText(it))); + } + else if (isMapping) + { + var mappingInfo = this.MappingTables.FirstOrDefault(it => it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase)); + return SqlTranslationLeft + (mappingInfo == null ? entityName : mappingInfo.EntityName) + SqlTranslationRight; + } + else if (isComplex) + { + return string.Join(".", entityName.Split('.').Select(it => GetTranslationText(it))); } else { - if (entityName.Contains(".")) - { - return string.Join(".", entityName.Split('.').Select(it => GetTranslationText(it))); - } - else - { - return GetTranslationText(entityName); - } + return GetTranslationText(entityName); } } public virtual string GetTranslationColumnName(string columnName) @@ -181,7 +177,7 @@ namespace SqlSugar } public virtual string GetAsString(string asName, string fieldValue) { - if (fieldValue.Contains(".*")|| fieldValue=="*") return fieldValue; + if (fieldValue.Contains(".*") || fieldValue == "*") return fieldValue; return string.Format(" {0} {1} {2} ", GetTranslationColumnName(fieldValue), "AS", GetTranslationColumnName(asName)); }