mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-24 07:22:57 +08:00
MySql Support DateTimeOffset
This commit is contained in:
parent
d9006ea434
commit
7ab2e9ce6d
@ -37,6 +37,17 @@ namespace OrmTest
|
||||
}).ToList();
|
||||
Db.CodeFirst.InitTables<UnitTest012213>();
|
||||
Db.CodeFirst.InitTables<UnitTest3131>();
|
||||
Db.CodeFirst.InitTables<UnitDateOfTime2>();
|
||||
|
||||
Db.Insertable(new UnitDateOfTime2() { DateTimeOffset1 = DateTimeOffset.Now }).ExecuteCommand();
|
||||
var list2 = Db.Queryable<UnitDateOfTime2>().ToList();
|
||||
|
||||
}
|
||||
|
||||
public class UnitDateOfTime2
|
||||
{
|
||||
[SqlSugar.SugarColumn(ColumnDataType ="datetime(3)")]
|
||||
public DateTimeOffset DateTimeOffset1 { get; set; }
|
||||
}
|
||||
|
||||
public class UnitTest3131
|
||||
|
@ -22,6 +22,8 @@ namespace SqlSugar
|
||||
csharpTypeName = "bool";
|
||||
if (csharpTypeName == "SByte")
|
||||
csharpTypeName = "Byte";
|
||||
if (csharpTypeName == "DateTimeOffset")
|
||||
csharpTypeName = "DateTime";
|
||||
var mappings = this.MappingTypes.Where(it => it.Value.ToString().Equals(csharpTypeName, StringComparison.CurrentCultureIgnoreCase));
|
||||
return mappings.HasValue() ? mappings.First().Key : "varchar";
|
||||
}
|
||||
|
@ -117,6 +117,11 @@ namespace SqlSugar
|
||||
{
|
||||
sqlParameter.DbType = System.Data.DbType.AnsiString;
|
||||
}
|
||||
if (parameter.DbType== System.Data.DbType.DateTimeOffset)
|
||||
{
|
||||
sqlParameter.Value = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)sqlParameter.Value);
|
||||
sqlParameter.DbType = System.Data.DbType.DateTime;
|
||||
}
|
||||
++index;
|
||||
}
|
||||
return result;
|
||||
|
@ -17,6 +17,16 @@ namespace SqlSugar
|
||||
public class UtilMethods
|
||||
{
|
||||
|
||||
internal static DateTime ConvertFromDateTimeOffset(DateTimeOffset dateTime)
|
||||
{
|
||||
if (dateTime.Offset.Equals(TimeSpan.Zero))
|
||||
return dateTime.UtcDateTime;
|
||||
else if (dateTime.Offset.Equals(TimeZoneInfo.Local.GetUtcOffset(dateTime.DateTime)))
|
||||
return DateTime.SpecifyKind(dateTime.DateTime, DateTimeKind.Local);
|
||||
else
|
||||
return dateTime.DateTime;
|
||||
}
|
||||
|
||||
internal static object To(object value, Type destinationType)
|
||||
{
|
||||
return To(value, destinationType, CultureInfo.InvariantCulture);
|
||||
|
Loading…
Reference in New Issue
Block a user