代码优化

This commit is contained in:
610262374@qq.com
2017-03-13 11:16:55 +08:00
parent b55d622d3e
commit 69b5ea419d
2 changed files with 37 additions and 25 deletions

View File

@@ -16,12 +16,12 @@ namespace OrmTest
static void Main(string[] args) static void Main(string[] args)
{ {
//Unit Test //Unit Test
int eachCount = 1; int eachCount = 10;
new Field(eachCount).Init(); //new Field(eachCount).Init();
new Where(eachCount).Init(); //new Where(eachCount).Init();
new Method(eachCount).Init(); //new Method(eachCount).Init();
new JoinQuery(eachCount).Init(); //new JoinQuery(eachCount).Init();
new SingleQuery(eachCount).Init(); //new SingleQuery(eachCount).Init();
new SelectQuery(eachCount).Init(); new SelectQuery(eachCount).Init();
} }
} }

View File

@@ -23,7 +23,8 @@ namespace SqlSugar
public MappingTableList MappingTables { get; set; } public MappingTableList MappingTables { get; set; }
public List<JoinQueryInfo> JoinQueryInfos { get; set; } public List<JoinQueryInfo> JoinQueryInfos { get; set; }
public bool IsJoin { public bool IsJoin
{
get get
{ {
return JoinQueryInfos.IsValuable(); return JoinQueryInfos.IsValuable();
@@ -69,11 +70,11 @@ namespace SqlSugar
#endregion #endregion
#region public functions #region public functions
public virtual string GetTranslationTableName(string name,bool isMapping=true) public virtual string GetTranslationTableName(string name, bool isMapping = true)
{ {
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name Or Column Name")); Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name Or Column Name"));
if (name.Contains("[") && name.Contains("]")) return name; if (IsTranslationText(name)) return name;
if (isMapping&&this.MappingTables.IsValuable()) if (isMapping && this.MappingTables.IsValuable())
{ {
if (name.Contains(".")) if (name.Contains("."))
{ {
@@ -83,7 +84,7 @@ namespace SqlSugar
{ {
columnInfo[columnInfo.Length - 1] = mappingInfo.EntityName; columnInfo[columnInfo.Length - 1] = mappingInfo.EntityName;
} }
return string.Join(".", columnInfo.Select(it => "[" + it + "]")); return string.Join(".", columnInfo.Select(it => GetTranslationText(it)));
} }
else else
{ {
@@ -95,28 +96,29 @@ namespace SqlSugar
{ {
if (name.Contains(".")) if (name.Contains("."))
{ {
return string.Join(".", name.Split('.').Select(it => "[" + it + "]")); return string.Join(".", name.Split('.').Select(it => GetTranslationText(it)));
} }
else else
{ {
return "[" + name + "]"; return GetTranslationText(name);
} }
} }
} }
public virtual string GetTranslationColumnName(string name, bool isMapping = true) public virtual string GetTranslationColumnName(string name, bool isMapping = true)
{ {
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name Or Column Name")); Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name Or Column Name"));
if (name.Contains("[") && name.Contains("]")) return name; if (IsTranslationText(name)) return name;
if (isMapping&&this.MappingColumns.IsValuable()) if (isMapping && this.MappingColumns.IsValuable())
{ {
if (name.Contains(".")) if (name.Contains("."))
{ {
var columnInfo = name.Split('.'); var columnInfo = name.Split('.');
var mappingInfo = this.MappingColumns.FirstOrDefault(it => it.EntityPropertyName.Equals(columnInfo.Last(), StringComparison.CurrentCultureIgnoreCase)); var mappingInfo = this.MappingColumns.FirstOrDefault(it => it.EntityPropertyName.Equals(columnInfo.Last(), StringComparison.CurrentCultureIgnoreCase));
if (mappingInfo != null) { if (mappingInfo != null)
columnInfo[columnInfo.Length-1] = mappingInfo.DbColumnName; {
columnInfo[columnInfo.Length - 1] = mappingInfo.DbColumnName;
} }
return string.Join(".", columnInfo.Select(it => "[" + it + "]")); return string.Join(".", columnInfo.Select(it => GetTranslationText(it)));
} }
else else
{ {
@@ -124,17 +126,27 @@ namespace SqlSugar
return "[" + (mappingInfo == null ? name : mappingInfo.DbColumnName) + "]"; return "[" + (mappingInfo == null ? name : mappingInfo.DbColumnName) + "]";
} }
} }
else { else
{
if (name.Contains(".")) if (name.Contains("."))
{ {
return string.Join(".", name.Split('.').Select(it => "[" + it + "]")); return string.Join(".", name.Split('.').Select(it => GetTranslationText(it)));
} }
else else
{
return GetTranslationText(name);
}
}
}
public virtual bool IsTranslationText(string name)
{
return name.Contains("[") && name.Contains("]");
}
public virtual string GetTranslationText(string name)
{ {
return "[" + name + "]"; return "[" + name + "]";
} }
}
}
public virtual void Resolve(Expression expression, ResolveExpressType resolveType) public virtual void Resolve(Expression expression, ResolveExpressType resolveType)
{ {
this.ResolveType = resolveType; this.ResolveType = resolveType;
@@ -144,11 +156,11 @@ namespace SqlSugar
} }
public virtual string GetAsString(string asName, string fieldValue) public virtual string GetAsString(string asName, string fieldValue)
{ {
return string.Format(" {0} {1} {2} ", GetTranslationTableName(fieldValue), "AS", GetTranslationColumnName(asName,false)); return string.Format(" {0} {1} {2} ", GetTranslationTableName(fieldValue), "AS", GetTranslationColumnName(asName, false));
} }
public virtual string GetAsString(string asName, string fieldValue,string fieldShortName) public virtual string GetAsString(string asName, string fieldValue, string fieldShortName)
{ {
return string.Format(" {0} {1} {2} ", GetTranslationTableName(fieldShortName+"."+ fieldValue), "AS", GetTranslationTableName(asName,false)); return string.Format(" {0} {1} {2} ", GetTranslationTableName(fieldShortName + "." + fieldValue), "AS", GetTranslationTableName(asName, false));
} }
public virtual void Clear() public virtual void Clear()
{ {