PgSql support timespan

This commit is contained in:
sunkaixuna 2021-09-04 18:30:15 +08:00
parent 29935a3fbd
commit 8dc59daf3b
5 changed files with 34 additions and 4 deletions

View File

@ -18,8 +18,20 @@ namespace OrmTest
Db.DbMaintenance.TruncateTable<UnitCodeTest22>();
Db.CodeFirst.InitTables<UnitCodeTest3>();
Db.Insertable(new UnitCodeTest22() { id=1}).ExecuteCommand();
Db.CodeFirst.InitTables<UnitTimeSpan2>();
Db.Insertable(new UnitTimeSpan2()
{
Id=new TimeSpan(),
id2=new TimeSpan(11,2,1)
}).ExecuteCommand();
var x= Db.Queryable<UnitTimeSpan2>().ToList();
}
public class UnitTimeSpan2
{
[SqlSugar.SugarColumn(ColumnDataType ="time")]
public TimeSpan Id { get; set; }
public TimeSpan id2 { get; set; }
}
public class UnitCodeTest22 {
[SqlSugar.SugarColumn(IsNullable =true)]
public decimal? id { get; set; }

View File

@ -24,6 +24,19 @@ namespace OrmTest
Db.CodeFirst.InitTables<UnitCodeFirstpks3>();
Db.CodeFirst.InitTables<UnitCodeFirstpks32>();
db.CodeFirst.InitTables<UnitTest0122132>();
Db.CodeFirst.InitTables<UnitTimeSpan2>();
Db.Insertable(new UnitTimeSpan2()
{
Id = new TimeSpan(),
id2 = new TimeSpan(11, 2, 1)
}).ExecuteCommand();
var x = Db.Queryable<UnitTimeSpan2>().ToList();
}
public class UnitTimeSpan2
{
[SqlSugar.SugarColumn(ColumnDataType = "time")]
public TimeSpan Id { get; set; }
public TimeSpan id2 { get; set; }
}
public class UnitTest0122132
{

View File

@ -126,8 +126,7 @@ namespace SqlSugar
}
else if (type == UtilConstants.TimeSpanType)
{
if (this.Value != null)
this.Value = this.Value.ToString();
this.DbType = System.Data.DbType.Time;
}
else if (type!=null&&type.IsEnum())
{

View File

@ -115,7 +115,7 @@ namespace SqlSugar
new KeyValuePair<string, CSharpDataType>("bit",CSharpDataType.byteArray),
new KeyValuePair<string, CSharpDataType>("bit varying",CSharpDataType.byteArray),
new KeyValuePair<string, CSharpDataType>("varbit",CSharpDataType.@byte),
new KeyValuePair<string, CSharpDataType>("time",CSharpDataType.TimeSpan),
};
public override List<string> StringThrow
{

View File

@ -130,6 +130,12 @@ namespace SqlSugar
sqlParameter.Size = parameter.Size;
sqlParameter.Value = parameter.Value;
sqlParameter.DbType = parameter.DbType;
var isTime = parameter.DbType == System.Data.DbType.Time;
if (isTime)
{
sqlParameter.SqlDbType = SqlDbType.Time;
sqlParameter.Value=DateTime.Parse(parameter.Value?.ToString()).TimeOfDay;
}
if (sqlParameter.Value!=null&& sqlParameter.Value != DBNull.Value && sqlParameter.DbType == System.Data.DbType.DateTime)
{
var date = Convert.ToDateTime(sqlParameter.Value);