diff --git a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs index 0250dd538..fe6d47324 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarProvider.cs @@ -15,7 +15,7 @@ namespace SqlSugar /// ** date:2017/1/2 /// ** email:610262374@qq.com /// - public partial class SqlSugarProvider: ISqlSugarClient + public partial class SqlSugarProvider : ISqlSugarClient { #region Constructor @@ -139,7 +139,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMappingInfo(); var types = new Type[] { typeof(T2), typeof(T3) }; @@ -155,7 +155,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMappingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4) }; @@ -171,7 +171,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMappingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4), typeof(T5) }; @@ -268,7 +268,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMappingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7), typeof(T8), typeof(T9), typeof(T10), typeof(T11) }; @@ -467,7 +467,14 @@ namespace SqlSugar var allParameters = allItems.SelectMany(it => it.Value).ToArray(); var resulut = this.Context.Queryable().AS(UtilMethods.GetPackTable(allSql, "unionTable")).With(SqlWith.Null); resulut.AddParameters(allParameters); - return resulut.Select(sqlBuilder.SqlSelectAll); + if (this.Context.CurrentConnectionConfig.DbType == DbType.Oracle && sqlBuilder.SqlSelectAll == "*") + { + return resulut.Select("unionTable.*"); + } + else + { + return resulut.Select(sqlBuilder.SqlSelectAll); + } } public virtual ISugarQueryable UnionAll(List> queryables) where T : class, new() { @@ -495,7 +502,14 @@ namespace SqlSugar var allParameters = allItems.SelectMany(it => it.Value).ToArray(); var resulut = this.Context.Queryable().AS(UtilMethods.GetPackTable(allSql, "unionTable")).With(SqlWith.Null); resulut.AddParameters(allParameters); - return resulut.Select(sqlBuilder.SqlSelectAll); + if (this.Context.CurrentConnectionConfig.DbType == DbType.Oracle && sqlBuilder.SqlSelectAll == "*") + { + return resulut.Select("unionTable.*"); + } + else + { + return resulut.Select(sqlBuilder.SqlSelectAll); + } } public virtual ISugarQueryable Union(List> queryables) where T : class, new() { @@ -521,7 +535,7 @@ namespace SqlSugar } public virtual IInsertable Insertable(List insertObjs) where T : class, new() { - if (insertObjs == null|| insertObjs.IsNullOrEmpty()) + if (insertObjs == null || insertObjs.IsNullOrEmpty()) { insertObjs = new List(); insertObjs.Add(default(T)); @@ -630,7 +644,7 @@ namespace SqlSugar result.UpdateParameterIsNull = true; return result; } - + public virtual IUpdateable Updateable(Dictionary columnDictionary) where T : class, new() { @@ -796,7 +810,7 @@ namespace SqlSugar public async Task SaveQueuesAsync(bool isTran = true) { - return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.ExecuteCommandAsync(sql, parameters); }); + return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.ExecuteCommandAsync(sql, parameters); }); } public List SaveQueues(bool isTran = true) { @@ -804,7 +818,7 @@ namespace SqlSugar } public async Task> SaveQueuesAsync(bool isTran = true) { - return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); + return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); } public Tuple, List> SaveQueues(bool isTran = true) { @@ -812,7 +826,7 @@ namespace SqlSugar } public async Task, List>> SaveQueuesAsync(bool isTran = true) { - return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); + return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); } public Tuple, List, List> SaveQueues(bool isTran = true) { @@ -820,7 +834,7 @@ namespace SqlSugar } public async Task, List, List>> SaveQueuesAsync(bool isTran = true) { - return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); + return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); } public Tuple, List, List, List> SaveQueues(bool isTran = true) { @@ -828,7 +842,7 @@ namespace SqlSugar } public async Task, List, List, List>> SaveQueuesAsync(bool isTran = true) { - return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); + return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); } public Tuple, List, List, List, List> SaveQueues(bool isTran = true) { @@ -836,7 +850,7 @@ namespace SqlSugar } public async Task, List, List, List, List>> SaveQueuesAsync(bool isTran = true) { - return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); + return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); } public Tuple, List, List, List, List, List> SaveQueues(bool isTran = true) { @@ -844,7 +858,7 @@ namespace SqlSugar } public async Task, List, List, List, List, List>> SaveQueuesAsync(bool isTran = true) { - return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); + return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); } public Tuple, List, List, List, List, List, List> SaveQueues(bool isTran = true) { @@ -852,17 +866,17 @@ namespace SqlSugar } public async Task, List, List, List, List, List, List>> SaveQueuesAsync(bool isTran = true) { - return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); + return await SaveQueuesProviderAsync(isTran, (sql, parameters) => { return this.Ado.SqlQueryAsync(sql, parameters); }); } - public void AddQueue(string sql, object parsmeters=null) + public void AddQueue(string sql, object parsmeters = null) { if (Queues == null) { Queues = new QueueList(); } - this.Queues.Add(sql,this.Context.Ado.GetParameters(parsmeters)); + this.Queues.Add(sql, this.Context.Ado.GetParameters(parsmeters)); } - public void AddQueue(string sql, SugarParameter parsmeter) + public void AddQueue(string sql, SugarParameter parsmeter) { if (Queues == null) { @@ -878,7 +892,7 @@ namespace SqlSugar } this.Queues.Add(sql, parsmeters); } - public QueueList Queues { get { if (_Queues == null) { _Queues = new QueueList(); } return _Queues; } set { _Queues = value; } } + public QueueList Queues { get { if (_Queues == null) { _Queues = new QueueList(); } return _Queues; } set { _Queues = value; } } @@ -922,7 +936,7 @@ namespace SqlSugar } } this.Queues.Clear(); - var result =await func(sqlBuilder.ToString(), parsmeters); + var result = await func(sqlBuilder.ToString(), parsmeters); if (isTran) this.Ado.CommitTran(); return result; } @@ -936,7 +950,8 @@ namespace SqlSugar { try { - if (this.CurrentConnectionConfig.DbType == DbType.Oracle) { + if (this.CurrentConnectionConfig.DbType == DbType.Oracle) + { throw new Exception("Oracle no support SaveQueues"); } if (this.Queues == null || this.Queues.Count == 0) return default(T); @@ -970,7 +985,7 @@ namespace SqlSugar .TrimEnd('\n') .TrimEnd('\r') .TrimEnd('\n') - .TrimEnd(';')+";"; + .TrimEnd(';') + ";"; sqlBuilder.AppendLine(itemSql); index++; }