mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 22:11:36 +08:00
MySql Support DateTimeOffset
This commit is contained in:
parent
d9006ea434
commit
7ab2e9ce6d
@ -37,6 +37,17 @@ namespace OrmTest
|
|||||||
}).ToList();
|
}).ToList();
|
||||||
Db.CodeFirst.InitTables<UnitTest012213>();
|
Db.CodeFirst.InitTables<UnitTest012213>();
|
||||||
Db.CodeFirst.InitTables<UnitTest3131>();
|
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
|
public class UnitTest3131
|
||||||
|
@ -22,6 +22,8 @@ namespace SqlSugar
|
|||||||
csharpTypeName = "bool";
|
csharpTypeName = "bool";
|
||||||
if (csharpTypeName == "SByte")
|
if (csharpTypeName == "SByte")
|
||||||
csharpTypeName = "Byte";
|
csharpTypeName = "Byte";
|
||||||
|
if (csharpTypeName == "DateTimeOffset")
|
||||||
|
csharpTypeName = "DateTime";
|
||||||
var mappings = this.MappingTypes.Where(it => it.Value.ToString().Equals(csharpTypeName, StringComparison.CurrentCultureIgnoreCase));
|
var mappings = this.MappingTypes.Where(it => it.Value.ToString().Equals(csharpTypeName, StringComparison.CurrentCultureIgnoreCase));
|
||||||
return mappings.HasValue() ? mappings.First().Key : "varchar";
|
return mappings.HasValue() ? mappings.First().Key : "varchar";
|
||||||
}
|
}
|
||||||
|
@ -117,6 +117,11 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
sqlParameter.DbType = System.Data.DbType.AnsiString;
|
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;
|
++index;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
@ -17,6 +17,16 @@ namespace SqlSugar
|
|||||||
public class UtilMethods
|
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)
|
internal static object To(object value, Type destinationType)
|
||||||
{
|
{
|
||||||
return To(value, destinationType, CultureInfo.InvariantCulture);
|
return To(value, destinationType, CultureInfo.InvariantCulture);
|
||||||
|
Loading…
Reference in New Issue
Block a user