diff --git a/Src/Asp.Net/SqlSugar/Realization/Dm/DbBind/DmDbBind.cs b/Src/Asp.Net/SqlSugar/Realization/Dm/DbBind/DmDbBind.cs index 09340264a..e55dfdbcb 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Dm/DbBind/DmDbBind.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Dm/DbBind/DmDbBind.cs @@ -107,11 +107,11 @@ namespace SqlSugar new KeyValuePair("number",CSharpDataType.@long), new KeyValuePair("number",CSharpDataType.@bool), new KeyValuePair("boolean",CSharpDataType.@bool), - new KeyValuePair("bit",CSharpDataType.@bool), + new KeyValuePair("bit",CSharpDataType.@bool), + new KeyValuePair("decimal",CSharpDataType.@decimal), new KeyValuePair("number",CSharpDataType.@decimal), new KeyValuePair("numeric",CSharpDataType.@decimal), new KeyValuePair("number",CSharpDataType.Single), - new KeyValuePair("decimal",CSharpDataType.@decimal), new KeyValuePair("decimal",CSharpDataType.Single), new KeyValuePair("dec",CSharpDataType.@decimal), new KeyValuePair("double precision",CSharpDataType.@double), diff --git a/Src/Asp.Net/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs b/Src/Asp.Net/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs index ef4203948..b3cfac30f 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs @@ -468,6 +468,16 @@ WHERE table_name = '" + tableName + "'"); Length = row["ColumnSize"].ObjToInt(), Scale = row["numericscale"].ObjToInt() }; + if (column.DataType.EqualCase("number")|| column.DataType.EqualCase("decimal")) + { + column.Length = row["numericprecision"].ObjToInt(); + column.Scale = row["numericscale"].ObjToInt(); + column.DecimalDigits = row["numericscale"].ObjToInt(); + if (column.Length == 38 && column.Scale == 0) + { + column.Length = 22; + } + } result.Add(column); } return result; diff --git a/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmInsertBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmInsertBuilder.cs index dc7ca4a79..b23ceacde 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmInsertBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmInsertBuilder.cs @@ -49,6 +49,11 @@ namespace SqlSugar { result = result.Replace(";select @@identity", ""); } + if (this.IsOffIdentity) + { + var tableName = this.GetTableNameString; + result = $"SET IDENTITY_INSERT {tableName} ON;" + result.TrimEnd(';') + $";SET IDENTITY_INSERT {tableName} OFF"; ; + } return result; }