mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-20 02:29:39 +08:00
-
This commit is contained in:
@@ -18,17 +18,17 @@ namespace OrmTest
|
|||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
/***Unit Test***/
|
/***Unit Test***/
|
||||||
//new Field(1).Init();
|
new Field(1).Init();
|
||||||
//new Where(1).Init();
|
new Where(1).Init();
|
||||||
//new Method(1).Init();
|
new Method(1).Init();
|
||||||
//new JoinQuery(1).Init();
|
new JoinQuery(1).Init();
|
||||||
//new SingleQuery(1).Init();
|
new SingleQuery(1).Init();
|
||||||
//new SelectQuery(1).Init();
|
new SelectQuery(1).Init();
|
||||||
//new AutoClose(1).Init();
|
new AutoClose(1).Init();
|
||||||
//new Insert(1).Init();
|
new Insert(1).Init();
|
||||||
//new Delete(1).Init();
|
new Delete(1).Init();
|
||||||
//new Update(1).Init();
|
new Update(1).Init();
|
||||||
//new Mapping(1).Init();
|
new Mapping(1).Init();
|
||||||
|
|
||||||
/***Performance Test***/
|
/***Performance Test***/
|
||||||
new SqlSugarPerformance(100).Select();
|
new SqlSugarPerformance(100).Select();
|
||||||
|
@@ -71,15 +71,15 @@ namespace SqlSugar
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region public functions
|
#region public functions
|
||||||
public virtual string GetTranslationTableName(string name, bool isMapping = true)
|
public virtual string GetTranslationTableName(string entityName, bool isMapping = true)
|
||||||
{
|
{
|
||||||
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name Or Column Name"));
|
Check.ArgumentNullException(entityName, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||||
if (IsTranslationText(name)) return name;
|
if (IsTranslationText(entityName)) return entityName;
|
||||||
if (isMapping && this.MappingTables.IsValuable())
|
if (isMapping && this.MappingTables.IsValuable())
|
||||||
{
|
{
|
||||||
if (name.Contains("."))
|
if (entityName.Contains("."))
|
||||||
{
|
{
|
||||||
var columnInfo = name.Split('.');
|
var columnInfo = entityName.Split('.');
|
||||||
var mappingInfo = this.MappingTables.FirstOrDefault(it => it.EntityName.Equals(columnInfo.Last(), StringComparison.CurrentCultureIgnoreCase));
|
var mappingInfo = this.MappingTables.FirstOrDefault(it => it.EntityName.Equals(columnInfo.Last(), StringComparison.CurrentCultureIgnoreCase));
|
||||||
if (mappingInfo != null)
|
if (mappingInfo != null)
|
||||||
{
|
{
|
||||||
@@ -89,57 +89,47 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var mappingInfo = this.MappingTables.FirstOrDefault(it => it.EntityName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
|
var mappingInfo = this.MappingTables.FirstOrDefault(it => it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase));
|
||||||
return "[" + (mappingInfo == null ? name : mappingInfo.EntityName) + "]";
|
return "[" + (mappingInfo == null ? entityName : mappingInfo.EntityName) + "]";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (name.Contains("."))
|
if (entityName.Contains("."))
|
||||||
{
|
{
|
||||||
return string.Join(".", name.Split('.').Select(it => GetTranslationText(it)));
|
return string.Join(".", entityName.Split('.').Select(it => GetTranslationText(it)));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return GetTranslationText(name);
|
return GetTranslationText(entityName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public virtual string GetTranslationColumnName(string name, bool isMapping = true)
|
public virtual string GetTranslationColumnName(string columnName)
|
||||||
{
|
{
|
||||||
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name Or Column Name"));
|
Check.ArgumentNullException(columnName, string.Format(ErrorMessage.ObjNotExist, "column Name"));
|
||||||
if (IsTranslationText(name)) return name;
|
if (IsTranslationText(columnName)) return columnName;
|
||||||
if (isMapping && this.MappingColumns.IsValuable())
|
if (columnName.Contains("."))
|
||||||
{
|
{
|
||||||
if (name.Contains("."))
|
return string.Join(".", columnName.Split('.').Select(it => GetTranslationText(it)));
|
||||||
{
|
|
||||||
var columnInfo = name.Split('.');
|
|
||||||
var mappingInfo = this.MappingColumns.FirstOrDefault(it => it.PropertyName.Equals(columnInfo.Last(), StringComparison.CurrentCultureIgnoreCase));
|
|
||||||
if (mappingInfo != null)
|
|
||||||
{
|
|
||||||
columnInfo[columnInfo.Length - 1] = mappingInfo.DbColumnName;
|
|
||||||
}
|
|
||||||
return string.Join(".", columnInfo.Select(it => GetTranslationText(it)));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var mappingInfo = this.MappingColumns.FirstOrDefault(it => it.PropertyName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
|
|
||||||
return "[" + (mappingInfo == null ? name : mappingInfo.DbColumnName) + "]";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (name.Contains("."))
|
return GetTranslationText(columnName);
|
||||||
{
|
}
|
||||||
return string.Join(".", name.Split('.').Select(it => GetTranslationText(it)));
|
}
|
||||||
}
|
public virtual string GetDbColumnName(string entityName, string propertyName)
|
||||||
else
|
{
|
||||||
{
|
if (this.MappingColumns.IsValuable())
|
||||||
return GetTranslationText(name);
|
{
|
||||||
}
|
var mappingInfo = this.MappingColumns.SingleOrDefault(it => it.EntityName == entityName && it.PropertyName == propertyName);
|
||||||
|
return mappingInfo == null ? propertyName : mappingInfo.DbColumnName;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return propertyName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual bool IsTranslationText(string name)
|
public virtual bool IsTranslationText(string name)
|
||||||
{
|
{
|
||||||
return name.Contains("[") && name.Contains("]");
|
return name.Contains("[") && name.Contains("]");
|
||||||
@@ -157,11 +147,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));
|
||||||
}
|
}
|
||||||
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", GetTranslationColumnName(asName));
|
||||||
}
|
}
|
||||||
public virtual void Clear()
|
public virtual void Clear()
|
||||||
{
|
{
|
||||||
|
@@ -111,13 +111,16 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
string shortName = expression.Expression.ToString();
|
string shortName = expression.Expression.ToString();
|
||||||
string fieldName = expression.Member.Name;
|
string fieldName = expression.Member.Name;
|
||||||
|
fieldName=this.Context.GetDbColumnName(expression.Expression.Type.Name, fieldName);
|
||||||
fieldName =Context.GetTranslationColumnName(shortName + "." + fieldName);
|
fieldName =Context.GetTranslationColumnName(shortName + "." + fieldName);
|
||||||
return fieldName;
|
return fieldName;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string getSingleName(ExpressionParameter parameter, MemberExpression expression, bool? isLeft)
|
private string getSingleName(ExpressionParameter parameter, MemberExpression expression, bool? isLeft)
|
||||||
{
|
{
|
||||||
string fieldName = Context.GetTranslationColumnName(expression.Member.Name);
|
string fieldName = expression.Member.Name;
|
||||||
|
fieldName = this.Context.GetDbColumnName(expression.Expression.Type.Name, fieldName);
|
||||||
|
fieldName = Context.GetTranslationColumnName(fieldName);
|
||||||
return fieldName;
|
return fieldName;
|
||||||
}
|
}
|
||||||
private string getArrayName(ExpressionParameter parameter, MemberExpression expression, bool? isLeft)
|
private string getArrayName(ExpressionParameter parameter, MemberExpression expression, bool? isLeft)
|
||||||
|
Reference in New Issue
Block a user