mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-19 01:58:13 +08:00
Update Oracle
This commit is contained in:
@@ -17,10 +17,10 @@ namespace SqlSugar
|
||||
.MappingTables
|
||||
.FirstOrDefault(it => it.EntityName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
|
||||
name = (mappingInfo == null ? name : mappingInfo.DbTableName);
|
||||
if (name.Contains("["))
|
||||
if (name.Contains("\""))
|
||||
return name;
|
||||
else
|
||||
return "[" + name + "]";
|
||||
return "\"" + name + "\"";
|
||||
}
|
||||
public override string GetTranslationColumnName(string entityName, string propertyName)
|
||||
{
|
||||
@@ -32,20 +32,20 @@ namespace SqlSugar
|
||||
.FirstOrDefault(it =>
|
||||
it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase) &&
|
||||
it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
return (mappingInfo == null ? "[" + propertyName + "]" : "[" + mappingInfo.DbColumnName + "]");
|
||||
return (mappingInfo == null ? "\"" + propertyName + "\"" : "\"" + mappingInfo.DbColumnName + "\"");
|
||||
}
|
||||
|
||||
public override string GetTranslationColumnName(string propertyName)
|
||||
{
|
||||
if (propertyName.Contains("[")) return propertyName;
|
||||
if (propertyName.Contains("\"")) return propertyName;
|
||||
else
|
||||
return "[" + propertyName + "]";
|
||||
return "\"" + propertyName + "\"";
|
||||
}
|
||||
|
||||
public override string GetNoTranslationColumnName(string name)
|
||||
{
|
||||
if (!name.Contains("[")) return name;
|
||||
return name == null ? string.Empty : Regex.Match(name, @".*\[(.*?)\]").Groups[1].Value;
|
||||
if (!name.Contains("\"")) return name;
|
||||
return name == null ? string.Empty : Regex.Match(name, @".*""(.*?)""").Groups[1].Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -14,11 +14,53 @@ namespace SqlSugar
|
||||
public SqlSugarClient Context { get; set; }
|
||||
public OracleExpressionContext()
|
||||
{
|
||||
base.DbMehtods = new SqlServerMethod();
|
||||
base.DbMehtods = new OracleMethod();
|
||||
}
|
||||
public override string GetTranslationTableName(string entityName, bool isMapping = true)
|
||||
{
|
||||
Check.ArgumentNullException(entityName, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||
if (IsTranslationText(entityName)) return entityName;
|
||||
if (isMapping && this.MappingTables.IsValuable())
|
||||
{
|
||||
if (entityName.Contains("."))
|
||||
{
|
||||
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 "\"" + (mappingInfo == null ? entityName : mappingInfo.EntityName) + "\"";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (entityName.Contains("."))
|
||||
{
|
||||
return string.Join(".", entityName.Split('.').Select(it => GetTranslationText(it)));
|
||||
}
|
||||
else
|
||||
{
|
||||
return GetTranslationText(entityName);
|
||||
}
|
||||
}
|
||||
}
|
||||
public override bool IsTranslationText(string name)
|
||||
{
|
||||
return name.Contains("\"") && name.Contains("\"");
|
||||
}
|
||||
public override string GetTranslationText(string name)
|
||||
{
|
||||
return "\"" + name + "\"";
|
||||
}
|
||||
|
||||
}
|
||||
public partial class SqlServerMethod : DefaultDbMethod, IDbMethods
|
||||
public partial class OracleMethod : DefaultDbMethod, IDbMethods
|
||||
{
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user