diff --git a/Src/Asp.NetCore2/SqlSugar.TDengineCore/SqlSugar.TDengineCore.csproj b/Src/Asp.NetCore2/SqlSugar.TDengineCore/SqlSugar.TDengineCore.csproj index da8131a6f..95d42a9f7 100644 --- a/Src/Asp.NetCore2/SqlSugar.TDengineCore/SqlSugar.TDengineCore.csproj +++ b/Src/Asp.NetCore2/SqlSugar.TDengineCore/SqlSugar.TDengineCore.csproj @@ -6,7 +6,7 @@ - + diff --git a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/DbMaintenance/TDengineDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/DbMaintenance/TDengineDbMaintenance.cs index 06f020ead..8774ebf06 100644 --- a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/DbMaintenance/TDengineDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/DbMaintenance/TDengineDbMaintenance.cs @@ -225,8 +225,17 @@ namespace SqlSugar.TDengine public override bool CreateDatabase(string databaseName,string databaseDirectory = null) { var db=this.Context.CopyNew(); - db.Ado.Connection.ChangeDatabase(""); - db.Ado.ExecuteCommand(string.Format(CreateDataBaseSql,databaseName)); + db.Ado.Connection.ChangeDatabase(""); + var sql = CreateDataBaseSql; + if (this.Context.CurrentConnectionConfig.ConnectionString.ToLower().Contains("config_us")) + { + sql += " PRECISION 'us'"; + } + else if (this.Context.CurrentConnectionConfig.ConnectionString.ToLower().Contains("config_ns")) + { + sql += " PRECISION 'ns'"; + } + db.Ado.ExecuteCommand(string.Format(sql, databaseName)); return true; } public override List GetIndexList(string tableName) diff --git a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/TDengineProvider.cs b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/TDengineProvider.cs index 96cc606c9..ffaceb229 100644 --- a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/TDengineProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/TDengineProvider.cs @@ -101,6 +101,10 @@ namespace SqlSugar.TDengine { sqlParameter.IsMicrosecond= true; } + else if (parameter.CustomDbType?.Equals(typeof(Date19))==true) + { + sqlParameter.IsNanosecond = true; + } result[i]=sqlParameter; i++; } diff --git a/Src/Asp.NetCore2/SqlSugar.TDengineCore/Tools/DateTime19.cs b/Src/Asp.NetCore2/SqlSugar.TDengineCore/Tools/DateTime19.cs new file mode 100644 index 000000000..deb8506d2 --- /dev/null +++ b/Src/Asp.NetCore2/SqlSugar.TDengineCore/Tools/DateTime19.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Text; + +namespace SqlSugar +{ + internal enum Date19 + { + time=19 + } + public class DateTime19: ISugarDataConverter + { + public SugarParameter ParameterConverter(object columnValue, int columnIndex) + { + var name = "@Common" + columnIndex; + Type undertype = SqlSugar.UtilMethods.GetUnderType(typeof(T));//获取没有nullable的枚举类型 + return new SugarParameter(name, columnValue, undertype) { CustomDbType= typeof(Date19) }; + } + + public T QueryConverter(IDataRecord dr, int i) + { + + var value = dr.GetValue(i); + return (T)UtilMethods.ChangeType2(value, typeof(T)); + } + } +}