diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs index 4ccc9a972..f96940178 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs @@ -165,6 +165,10 @@ namespace SqlSugar } return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'"; } + else if (type.GetTypeInfo().IsEnum()) + { + return Convert.ToInt64(value); + } else if (type == PubConst.BoolType) { return value.ObjToBool() ? "1" : "0"; diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs index 4aa246464..dcede092f 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/UpdateBuilder.cs @@ -153,19 +153,19 @@ namespace SqlSugar while (pageCount >= pageIndex) { StringBuilder updateTable = new StringBuilder(); - string setValues = string.Join(",", groupList.First().Where(it=>it.IsPrimarykey==false&&(it.IsIdentity==false||(IsOffIdentity&&it.IsIdentity))).Select(it => - { - if (SetValues.IsValuable()) - { - var setValue = SetValues.Where(sv => sv.Key == Builder.GetTranslationColumnName(it.DbColumnName)); - if (setValue != null && setValue.Any()) - { - return setValue.First().Value; - } - } - var result = string.Format("S.{0}=T.{0}", Builder.GetTranslationColumnName(it.DbColumnName)); - return result; - })); + string setValues = string.Join(",", groupList.First().Where(it => it.IsPrimarykey == false && (it.IsIdentity == false || (IsOffIdentity && it.IsIdentity))).Select(it => + { + if (SetValues.IsValuable()) + { + var setValue = SetValues.Where(sv => sv.Key == Builder.GetTranslationColumnName(it.DbColumnName)); + if (setValue != null && setValue.Any()) + { + return setValue.First().Value; + } + } + var result = string.Format("S.{0}=T.{0}", Builder.GetTranslationColumnName(it.DbColumnName)); + return result; + })); batchUpdateSql.AppendFormat(SqlTemplateBatch.ToString(), setValues, GetTableNameStringNoWith, TableWithString); int i = 0; foreach (var columns in groupList.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList()) @@ -253,11 +253,16 @@ namespace SqlSugar if (type == PubConst.DateType) { var date = value.ObjToDate(); - if (date < Convert.ToDateTime("1900-1-1")) { + if (date < Convert.ToDateTime("1900-1-1")) + { date = Convert.ToDateTime("1900-1-1"); } return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'"; } + else if (type.GetTypeInfo().IsEnum()) + { + return Convert.ToInt64(value); + } else if (type == PubConst.BoolType) { return value.ObjToBool() ? "1" : "0"; diff --git a/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteInsertBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteInsertBuilder.cs index 2e90a3a75..860ec0e5b 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteInsertBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteInsertBuilder.cs @@ -52,6 +52,10 @@ namespace SqlSugar } return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'"; } + else if (type.GetTypeInfo().IsEnum()) + { + return Convert.ToInt64(value); + } else if (type == PubConst.BoolType) { return value.ObjToBool() ? "1" : "0"; diff --git a/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteUpdateBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteUpdateBuilder.cs index fbf15d63b..55c3353b4 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteUpdateBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteUpdateBuilder.cs @@ -29,6 +29,10 @@ namespace SqlSugar } return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'"; } + else if (type.GetTypeInfo().IsEnum()) + { + return Convert.ToInt64(value); + } else if (type == PubConst.BoolType) { return value.ObjToBool() ? "1" : "0";