diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs index 9d92cd5e7..68d33abbd 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs @@ -266,7 +266,6 @@ namespace SqlSugar if (this.IsClearParameters) sqlCommand.Parameters.Clear(); ExecuteAfter(sql, parameters); - SetConnectionEnd(sql); return count; } catch (Exception ex) @@ -278,6 +277,7 @@ namespace SqlSugar finally { if (this.IsAutoClose()) this.Close(); + SetConnectionEnd(sql); } } public virtual IDataReader GetDataReader(string sql, params SugarParameter[] parameters) @@ -326,7 +326,6 @@ namespace SqlSugar if (this.IsClearParameters) sqlCommand.Parameters.Clear(); ExecuteAfter(sql, parameters); - SetConnectionEnd(sql); return ds; } catch (Exception ex) @@ -338,6 +337,7 @@ namespace SqlSugar finally { if (this.IsAutoClose()) this.Close(); + SetConnectionEnd(sql); } } public virtual object GetScalar(string sql, params SugarParameter[] parameters) @@ -356,7 +356,6 @@ namespace SqlSugar if (this.IsClearParameters) sqlCommand.Parameters.Clear(); ExecuteAfter(sql, parameters); - SetConnectionEnd(sql); return scalar; } catch (Exception ex) @@ -368,6 +367,7 @@ namespace SqlSugar finally { if (this.IsAutoClose()) this.Close(); + SetConnectionEnd(sql); } } #endregion diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs index 9d0561326..06050ecd2 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs @@ -109,7 +109,7 @@ namespace SqlSugar { if (!ReaderKeys.Contains(mappInfo.DbColumnName)) { - fileName = ReaderKeys.FirstOrDefault(it => it.Equals(mappInfo.DbColumnName, StringComparison.CurrentCultureIgnoreCase)|| it.Equals(mappInfo.PropertyName, StringComparison.CurrentCultureIgnoreCase)); + fileName = ReaderKeys.First(it => it.Equals(mappInfo.DbColumnName, StringComparison.CurrentCultureIgnoreCase)|| it.Equals(mappInfo.PropertyName, StringComparison.CurrentCultureIgnoreCase)); } else { diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs index 1b2e636f8..925505fca 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs @@ -141,7 +141,7 @@ namespace SqlSugar this.Context.Ado.ExecuteCommand(sql); return true; } - public virtual bool CreateTable(string tableName, List columns) + public virtual bool CreateTable(string tableName, List columns, bool isCreatePrimaryKey = true) { tableName = this.SqlBuilder.GetTranslationTableName(tableName); string sql = GetCreateTableSql(tableName, columns); diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index 1294ad6e7..0b1011f4d 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -386,16 +386,20 @@ namespace SqlSugar { QueryBuilder.OrderByValue = QueryBuilder.DefaultOrderByTemplate; } - QueryBuilder.Skip = 0; - QueryBuilder.Take = 1; - var reval = this.ToList(); - if (reval.HasValue()) + if (QueryBuilder.Skip.HasValue) { - return reval.FirstOrDefault(); + QueryBuilder.Take = 1; + return this.ToList().FirstOrDefault(); } else { - return default(T); + QueryBuilder.Skip = 0; + QueryBuilder.Take = 1; + var reval = this.ToList(); + if (reval.HasValue()) + return reval.FirstOrDefault(); + else + return default(T); } } public virtual T First(Expression> expression) @@ -1072,8 +1076,9 @@ namespace SqlSugar private void ToSqlBefore() { var moreSetts = this.Context.CurrentConnectionConfig.MoreSettings; - if (moreSetts != null && moreSetts.IsWithNoLockQuery&&string.IsNullOrEmpty(QueryBuilder.TableWithString)) { - this.With(SqlWith.NoLock); + if (moreSetts != null && moreSetts.IsWithNoLockQuery && string.IsNullOrEmpty(QueryBuilder.TableWithString)) + { + this.With(SqlWith.NoLock); } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs index b72f301fb..6f812b364 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs @@ -210,6 +210,9 @@ namespace SqlSugar public virtual ExpressionResult GetExpressionValue(Expression expression, ResolveExpressType resolveType) { ILambdaExpressions resolveExpress = this.LambdaExpressions; + if (resolveType.IsIn(ResolveExpressType.FieldSingle,ResolveExpressType.FieldMultiple,ResolveExpressType.SelectSingle, ResolveExpressType.SelectMultiple) &&(expression is LambdaExpression)&& (expression as LambdaExpression).Body is BinaryExpression) { + resolveType = resolveType.IsIn(ResolveExpressType.SelectSingle, ResolveExpressType.FieldSingle) ? ResolveExpressType.WhereSingle : ResolveExpressType.WhereMultiple; + } this.LambdaExpressions.Clear(); resolveExpress.JoinQueryInfos = Builder.QueryBuilder.JoinQueryInfos; resolveExpress.IsSingle = IsSingle(); diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/ConnectionConfig.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/ConnectionConfig.cs index d96c3691d..f825f1ed7 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/ConnectionConfig.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/ConnectionConfig.cs @@ -89,5 +89,6 @@ namespace SqlSugar } public List SqlFuncServices { get; set; } + public List> AppendDataReaderTypeMappings { get; set; } } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Enum/DbType.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Enum/DbType.cs index 51be78f4e..40e040cbf 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Enum/DbType.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Enum/DbType.cs @@ -10,6 +10,7 @@ namespace SqlSugar MySql , SqlServer, Sqlite, - Oracle + Oracle, + PostgreSQL } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs index d1685d092..c7f624b7e 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs @@ -264,6 +264,10 @@ namespace SqlSugar { this.Context.Parameters.AddRange(newContext.Parameters); } + if (newContext.SingleTableNameSubqueryShortName.HasValue()) + { + this.Context.SingleTableNameSubqueryShortName = newContext.SingleTableNameSubqueryShortName; + } var methodCallExpressionArgs = new MethodCallExpressionArgs() { IsMember = true, diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/Items/SubGroupBy.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/Items/SubGroupBy.cs new file mode 100644 index 000000000..410e9687a --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/Items/SubGroupBy.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Text; + +namespace SqlSugar +{ + public class SubGroupBy : ISubOperation + { + public string Name + { + get { return "GroupBy"; } + } + + public Expression Expression + { + get; set; + } + + public int Sort + { + get + { + return 479; + } + } + + public ExpressionContext Context + { + get; set; + } + + public string GetValue(Expression expression) + { + var exp = expression as MethodCallExpression; + var argExp = exp.Arguments[0]; + var result = "GROUP BY " + SubTools.GetMethodValue(this.Context, argExp, ResolveExpressType.FieldSingle); + var selfParameterName = this.Context.GetTranslationColumnName((argExp as LambdaExpression).Parameters.First().Name) + UtilConstants.Dot; + result = result.Replace(selfParameterName, string.Empty); + return result; + } + } +} diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/SubResolve.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/SubResolve.cs index acb5c29ac..4897cfd05 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/SubResolve.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/SubResolve.cs @@ -22,14 +22,31 @@ namespace SqlSugar this.context = context; var currentExpression = expression; allMethods.Add(currentExpression); - if (context.IsSingle && oppsiteExpression != null&& oppsiteExpression is MemberExpression) + if (context.IsSingle && oppsiteExpression != null && oppsiteExpression is MemberExpression) { var childExpression = (oppsiteExpression as MemberExpression).Expression; this.context.SingleTableNameSubqueryShortName = (childExpression as ParameterExpression).Name; } else if (context.IsSingle) { - this.context.SingleTableNameSubqueryShortName = (context.Expression as LambdaExpression).Parameters.First().Name; + if (context.Expression is LambdaExpression) + { + this.context.SingleTableNameSubqueryShortName = (context.Expression as LambdaExpression).Parameters.First().Name; + } + else if (context.Expression is MethodCallExpression) + { + var meExp = ((context.Expression as MethodCallExpression).Object as MethodCallExpression).Arguments[0] as LambdaExpression; + var selfParameterName = meExp.Parameters.First().Name; + context.SingleTableNameSubqueryShortName = (((meExp.Body as BinaryExpression).Left as MemberExpression).Expression as ParameterExpression).Name; + if (context.SingleTableNameSubqueryShortName == selfParameterName) + { + context.SingleTableNameSubqueryShortName = (((meExp.Body as BinaryExpression).Right as MemberExpression).Expression as ParameterExpression).Name; + } + } + else + { + Check.Exception(true, "I'm sorry I can't parse the current expression"); + } } while (currentExpression != null) { @@ -69,7 +86,7 @@ namespace SqlSugar isubList.Insert(0, new SubBegin()); if (isubList.Any(it => it is SubSelect)) { - isubList.Add(new SubTop() { Context=this.context }); + isubList.Add(new SubTop() { Context = this.context }); } if (isubList.Any(it => it is SubAny || it is SubNotAny)) { diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/SubTools.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/SubTools.cs index 4e7b6338c..d7dbe464d 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/SubTools.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/SubTools.cs @@ -26,7 +26,8 @@ namespace SqlSugar new SubSum(){ Context=Context }, new SubAvg(){ Context=Context }, new SubOrderBy(){ Context=Context }, - new SubOrderByDesc(){ Context=Context } + new SubOrderByDesc(){ Context=Context }, + new SubGroupBy(){ Context=Context} }; } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/Subquerable.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/Subquerable.cs index 3be1178c1..40f757c56 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/Subquerable.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/Subquerable.cs @@ -17,6 +17,10 @@ namespace SqlSugar { return this; } + public Subqueryable GroupBy(Func expression) + { + return this; + } public Subqueryable OrderByDesc(Func expression) { return this; diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Infrastructure/ContextMethods.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Infrastructure/ContextMethods.cs index ed8402b80..250430549 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Infrastructure/ContextMethods.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Infrastructure/ContextMethods.cs @@ -160,6 +160,12 @@ namespace SqlSugar { Dictionary result = new Dictionary(); var type = item.PropertyType; + if (UtilConstants.SugarType == type) { + return result; + } + if (type.FullName.IsCollectionsList()) { + return null; + } var classProperties = type.GetProperties().ToList(); foreach (var prop in classProperties) { diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Infrastructure/DependencyManagement.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Infrastructure/DependencyManagement.cs index c6ccd3849..07f476277 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Infrastructure/DependencyManagement.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Infrastructure/DependencyManagement.cs @@ -64,7 +64,7 @@ namespace SqlSugar { var message = ErrorMessage.GetThrowMessage( "You need to refer to Oracle.ManagedDataAccess.dll", - "需要引用ManagedDataAccess.dll,请在Nuget安装最新稳定版本,如果有版本兼容问题请先删除原有引用"); + "Oracle .NET Core官方驱动还没发布,暂不支持Oracle"); throw new Exception(message); } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDbMaintenance.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDbMaintenance.cs index b491d86d5..8307f952c 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDbMaintenance.cs @@ -28,7 +28,7 @@ namespace SqlSugar #region DDL bool DropTable(string tableName); bool TruncateTable(string tableName); - bool CreateTable(string tableName, List columns); + bool CreateTable(string tableName, List columns,bool isCreatePrimaryKey=true); bool AddColumn(string tableName, DbColumnInfo column); bool UpdateColumn(string tableName, DbColumnInfo column); bool AddPrimaryKey(string tableName,string columnName); diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbBind/MySqlDbBind.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbBind/MySqlDbBind.cs index ee18a07cb..283f66886 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbBind/MySqlDbBind.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbBind/MySqlDbBind.cs @@ -27,8 +27,18 @@ namespace SqlSugar { get { - return new List>() + var extService = this.Context.CurrentConnectionConfig.ConfigureExternalServices; + if (extService != null && extService.AppendDataReaderTypeMappings.HasValue()) { + return extService.AppendDataReaderTypeMappings.Union(MappingTypesConst).ToList(); + } + else + { + return MappingTypesConst; + } + } + } + public static List> MappingTypesConst = new List>(){ new KeyValuePair("int",CSharpDataType.@int), new KeyValuePair("mediumint",CSharpDataType.@int), @@ -71,13 +81,11 @@ namespace SqlSugar new KeyValuePair("varchar",CSharpDataType.Guid), }; - } - } public override List StringThrow { get { - return new List() { "int32", "datetime", "decimal", "double", "byte"}; + return new List() { "int32", "datetime", "decimal", "double", "byte" }; } } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs index b2874a4a3..b1278a762 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs @@ -179,7 +179,7 @@ namespace SqlSugar #endregion #region Methods - public override bool CreateTable(string tableName, List columns) + public override bool CreateTable(string tableName, List columns,bool isCreatePrimaryKey=true) { if (columns.HasValue()) { diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/SqlServer/DbBind/SqlServerDbBind.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/SqlServer/DbBind/SqlServerDbBind.cs index 4fe392862..60716cf94 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/SqlServer/DbBind/SqlServerDbBind.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/SqlServer/DbBind/SqlServerDbBind.cs @@ -10,7 +10,18 @@ namespace SqlSugar { get { - return new List>() + var extService = this.Context.CurrentConnectionConfig.ConfigureExternalServices; + if (extService != null&& extService.AppendDataReaderTypeMappings.HasValue()) + { + return extService.AppendDataReaderTypeMappings.Union(MappingTypesConst).ToList(); + } + else + { + return MappingTypesConst; + } + } + } + public static List> MappingTypesConst = new List>() { new KeyValuePair("int",CSharpDataType.@int), new KeyValuePair("varchar",CSharpDataType.@string), @@ -26,7 +37,7 @@ namespace SqlSugar new KeyValuePair("datetime",CSharpDataType.DateTime), new KeyValuePair("time",CSharpDataType.DateTime), new KeyValuePair("smalldatetime",CSharpDataType.DateTime), - new KeyValuePair("timestamp",CSharpDataType.DateTime), + new KeyValuePair("timestamp",CSharpDataType.byteArray), new KeyValuePair("datetime2",CSharpDataType.DateTime), new KeyValuePair("date",CSharpDataType.DateTime), new KeyValuePair("decimal",CSharpDataType.@decimal), @@ -45,7 +56,6 @@ namespace SqlSugar new KeyValuePair("varbinary",CSharpDataType.byteArray), new KeyValuePair("datetimeoffset", CSharpDataType.DateTimeOffset), new KeyValuePair("datetimeoffset", CSharpDataType.DateTime)}; - } - } - } + }; + } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/DbBind/SqliteDbBind.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/DbBind/SqliteDbBind.cs index f84f93d7f..031db8654 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/DbBind/SqliteDbBind.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/DbBind/SqliteDbBind.cs @@ -22,12 +22,23 @@ namespace SqlSugar csharpTypeName = "bool"; var mappings = this.MappingTypes.Where(it => it.Value.ToString().Equals(csharpTypeName, StringComparison.CurrentCultureIgnoreCase)); return mappings.HasValue() ? mappings.First().Key : "varchar"; - } + } public override List> MappingTypes { get { - return new List>() + var extService = this.Context.CurrentConnectionConfig.ConfigureExternalServices; + if (extService != null && extService.AppendDataReaderTypeMappings.HasValue()) + { + return extService.AppendDataReaderTypeMappings.Union(MappingTypesConst).ToList(); + } + else + { + return MappingTypesConst; + } + } + } + public static List> MappingTypesConst = new List>() { new KeyValuePair("integer",CSharpDataType.@int), @@ -87,9 +98,7 @@ namespace SqlSugar new KeyValuePair("varchar",CSharpDataType.Guid), new KeyValuePair("guid",CSharpDataType.Guid) - }; - } - } + }; public override List StringThrow { get diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs index 018c47a37..7d3eed75c 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs @@ -206,7 +206,7 @@ namespace SqlSugar }); } - public override bool CreateTable(string tableName, List columns) + public override bool CreateTable(string tableName, List columns,bool isCreatePrimaryKey=true) { if (columns.HasValue()) { diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj index 125f19b49..b008e7dc8 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 4.6.3.1 + 4.6.4.1 sun_kai_xuan https://github.com/sunkaixuan/SqlSugar @@ -20,4 +20,9 @@ + + + + + diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarClient.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarClient.cs index 87494f3de..7cfb8a623 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarClient.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarClient.cs @@ -37,6 +37,8 @@ namespace SqlSugar case DbType.Oracle: DependencyManagement.TryOracle(); break; + case DbType.PostgreSQL: + throw new Exception("Development 50%"); default: throw new Exception("ConnectionConfig.DbType is null"); } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCore.nuspec b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCore.nuspec index 09d904037..db5d7274b 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCore.nuspec +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCore.nuspec @@ -2,7 +2,7 @@ sqlSugarCore - 4.6.3.1 + 4.6.4.1 sunkaixuan Landa http://www.apache.org/licenses/LICENSE-2.0.html diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/UtilConstants.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/UtilConstants.cs index ebfe0199b..f798701c8 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/UtilConstants.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/UtilConstants.cs @@ -37,5 +37,7 @@ namespace SqlSugar internal static Type DicSo = typeof(KeyValuePair); internal static Type DicArraySS = typeof(Dictionary); internal static Type DicArraySO = typeof(Dictionary); + + public static Type SugarType = typeof(SqlSugarClient); } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/DataBase/SqlSugar4xTest.sqlite b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/DataBase/SqlSugar4xTest.sqlite index 9bb475219..219c503c1 100644 Binary files a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/DataBase/SqlSugar4xTest.sqlite and b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/DataBase/SqlSugar4xTest.sqlite differ