Support Oracle DateTimeOffset

This commit is contained in:
sunkaixuna
2021-12-07 20:05:33 +08:00
parent 49e0474bdc
commit 0adad53602
4 changed files with 27 additions and 2 deletions

View File

@@ -28,6 +28,16 @@ namespace OrmTest
}); });
// db.Utilities.RemoveCacheAll(); // db.Utilities.RemoveCacheAll();
var xxxxx = Db.DbMaintenance.GetColumnInfosByTableName("TESTA1", false); var xxxxx = Db.DbMaintenance.GetColumnInfosByTableName("TESTA1", false);
Db.CodeFirst.InitTables<UnitDateOfTime22>();
Db.Insertable(new UnitDateOfTime22() { DateTimeOffset1 = DateTimeOffset.Now }).ExecuteCommand();
Db.Insertable(new List<UnitDateOfTime22> { new UnitDateOfTime22() { DateTimeOffset1 = DateTimeOffset.Now }, new UnitDateOfTime22() { DateTimeOffset1 = DateTimeOffset.Now } }).ExecuteCommand();
var list2 = Db.Queryable<UnitDateOfTime22>().ToList();
}
[SqlSugar.SugarTable("UnitDateOfTime2211")]
public class UnitDateOfTime22
{
public DateTimeOffset DateTimeOffset1 { get; set; }
} }
public class TESTA1 { public class TESTA1 {
public string X { get; set; } public string X { get; set; }

View File

@@ -143,6 +143,11 @@ namespace SqlSugar
sqlParameter.DbType = System.Data.DbType.String; sqlParameter.DbType = System.Data.DbType.String;
sqlParameter.Value = sqlParameter.Value.ObjToString(); sqlParameter.Value = sqlParameter.Value.ObjToString();
} }
else if (parameter.DbType == System.Data.DbType.DateTimeOffset)
{
sqlParameter.Value = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)parameter.Value);
sqlParameter.DbType = System.Data.DbType.DateTime;
}
else if (parameter.DbType == System.Data.DbType.Boolean) else if (parameter.DbType == System.Data.DbType.Boolean)
{ {
sqlParameter.DbType = System.Data.DbType.Int16; sqlParameter.DbType = System.Data.DbType.Int16;

View File

@@ -134,14 +134,19 @@ namespace SqlSugar
else if (type == UtilConstants.BoolType) else if (type == UtilConstants.BoolType)
{ {
return value.ObjToBool() ? "1" : "0"; return value.ObjToBool() ? "1" : "0";
}
else if (type==UtilConstants.DateTimeOffsetType)
{
var date= UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value);
return "to_date('" + date.ToString("yyyy-MM-dd HH:mm:ss") + "', 'YYYY-MM-DD HH24:MI:SS') ";
} }
else if (type == UtilConstants.StringType || type == UtilConstants.ObjType) else if (type == UtilConstants.StringType || type == UtilConstants.ObjType)
{ {
return N+"'" + value.ToString().ToSqlFilter() + "'"; return N + "'" + value.ToString().ToSqlFilter() + "'";
} }
else else
{ {
return N+"'" + value.ToString() + "'"; return N + "'" + value.ToString() + "'";
} }
} }
} }

View File

@@ -76,6 +76,11 @@ namespace SqlSugar
{ {
return value.ObjToBool() ? "1" : "0"; return value.ObjToBool() ? "1" : "0";
} }
else if (type == UtilConstants.DateTimeOffsetType)
{
var date = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value);
return "to_date('" + date.ToString("yyyy-MM-dd HH:mm:ss") + "', 'YYYY-MM-DD HH24:MI:SS') ";
}
else if (type == UtilConstants.StringType || type == UtilConstants.ObjType) else if (type == UtilConstants.StringType || type == UtilConstants.ObjType)
{ {
return N + "'" + value.ToString().ToSqlFilter() + "'"; return N + "'" + value.ToString().ToSqlFilter() + "'";