Update Oracle

This commit is contained in:
sunkaixuan 2017-08-27 23:51:18 +08:00
parent d97e6f98be
commit 52aedd787e
8 changed files with 59 additions and 61 deletions

View File

@ -8,6 +8,6 @@ namespace OrmTest
{
public class Config
{
public static string ConnectionString = "server=.;uid=sa;pwd=sasa;database=SqlSugar4XTest";
public static string ConnectionString = "Data Source=localhost/orcl;User ID=system;Password=JHL52771jhl;";
}
}

View File

@ -10,7 +10,7 @@ namespace OrmTest.Demo
{
public static SqlSugarClient GetInstance()
{
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true });
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.Oracle, IsAutoCloseConnection = true });
db.Ado.IsEnableLogEvent = true;
db.Ado.LogEventStarting = (sql, pars) =>
{

View File

@ -17,25 +17,25 @@ namespace OrmTest
{
static void Main(string[] args)
{
throw new Exception(" to be continued ,It will take another week.");
// throw new Exception(" to be continued ,It will take another week.");
// /***Unit Test***/
new Select(1).Init();
new Field(1).Init();
new Where(1).Init();
new Method(1).Init();
new JoinQuery(1).Init();
new SingleQuery(1).Init();
new SelectQuery(1).Init();
new AutoClose(1).Init();
new Insert(1).Init();
new Delete(1).Init();
new Update(1).Init();
new Mapping(1).Init();
new DataTest(1).Init();
new EnumTest(1).Init();
/***Performance Test***/
new SqlSugarPerformance(100).Select();
//new Select(1).Init();
//new Field(1).Init();
//new Where(1).Init();
//new Method(1).Init();
//new JoinQuery(1).Init();
//new SingleQuery(1).Init();
//new SelectQuery(1).Init();
//new AutoClose(1).Init();
//new Insert(1).Init();
//new Delete(1).Init();
//new Update(1).Init();
//new Mapping(1).Init();
//new DataTest(1).Init();
//new EnumTest(1).Init();
///***Performance Test***/
//new SqlSugarPerformance(100).Select();
/***Demo***/
OrmTest.Demo.Query.Init();

View File

@ -143,7 +143,15 @@ namespace SqlSugar
{
dbTypeName = dbTypeName.ToLower();
var propertyTypes = MappingTypes.Where(it => it.Key == dbTypeName);
if (propertyTypes == null)
if (dbTypeName == "int32")
{
return "int";
}
else if (dbTypeName == "int64")
{
return "long";
}
else if (propertyTypes == null)
{
return "other";
}

View File

@ -10,5 +10,6 @@ namespace SqlSugar
public const string MySql = "MySql";
public const string SqlServer = "SqlServer";
public const string Sqlite = "Sqlite";
public const string Oracle = "Oracle";
}
}

View File

@ -84,16 +84,19 @@ namespace SqlSugar
if (parameter.Value == null) parameter.Value = DBNull.Value;
var sqlParameter = new OracleParameter();
sqlParameter.ParameterName = parameter.ParameterName.ToLower();
if (sqlParameter.ParameterName[0] == '@') {
if (sqlParameter.ParameterName[0] == '@')
{
sqlParameter.ParameterName = ':' + sqlParameter.ParameterName.Substring(1, sqlParameter.ParameterName.Length - 1);
}
//sqlParameter.UdtTypeName = parameter.UdtTypeName;
sqlParameter.Size = parameter.Size;
sqlParameter.Value = parameter.Value;
sqlParameter.DbType = parameter.DbType;
if (parameter.Direction != 0)
sqlParameter.Direction = parameter.Direction;
result[index] = sqlParameter;
if (sqlParameter.Direction == ParameterDirection.Output) {
if (sqlParameter.Direction == ParameterDirection.Output)
{
if (this.OutputParameters == null) this.OutputParameters = new List<IDataParameter>();
this.OutputParameters.RemoveAll(it => it.ParameterName == sqlParameter.ParameterName);
this.OutputParameters.Add(sqlParameter);

View File

@ -11,5 +11,21 @@ namespace SqlSugar
{
public override string SqlTranslationLeft { get { return "\""; } }
public override string SqlTranslationRight { get { return "\""; } }
public override string GetTranslationTableName(string name)
{
var result= base.GetTranslationTableName(name);
return result.ToUpper();
}
public override string GetTranslationColumnName(string entityName, string propertyName)
{
var result = base.GetTranslationColumnName(entityName, propertyName);
return result.ToUpper();
}
public override string GetTranslationColumnName(string propertyName)
{
var result = base.GetTranslationColumnName(propertyName);
return result.ToUpper();
}
}
}

View File

@ -14,52 +14,22 @@ namespace SqlSugar
public SqlSugarClient Context { get; set; }
public OracleExpressionContext()
{
base.DbMehtods = new OracleMethod();
base.Result.IsUpper = true;
base.DbMehtods = new MySqlMethod();
}
public override string SqlTranslationLeft { get { return "\""; } }
public override string SqlTranslationRight { get { return "\""; } }
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())
return base.GetTranslationTableName(entityName, isMapping).ToUpper();
}
public override string GetTranslationColumnName(string columnName)
{
if (entityName.Contains("."))
return base.GetTranslationColumnName(columnName).ToUpper();
}
public override string GetDbColumnName(string entityName, string propertyName)
{
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 base.GetDbColumnName(entityName,propertyName).ToUpper();
}
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 OracleMethod : DefaultDbMethod, IDbMethods
{