MySql Support timeoffset

This commit is contained in:
skx
2020-12-30 18:38:55 +08:00
parent 5e889c2bbb
commit 02e7e72bb5
3 changed files with 29 additions and 4 deletions

View File

@@ -280,6 +280,8 @@ namespace SqlSugar
method = isNullableType ? getConvertDateTime : getDateTime;
if (bindProperyTypeName == "datetime" && dbTypeName.ToLower() == "time")
method = isNullableType ? getConvertTime : getTime;
if (bindProperyTypeName == "datetimeoffset")
method = isNullableType ? getConvertdatetimeoffset : getdatetimeoffset;
break;
case CSharpDataType.@decimal:
CheckType(bind.DecimalThrow, bindProperyTypeName, validPropertyName, propertyName);

View File

@@ -217,8 +217,16 @@ namespace SqlSugar
{
return default(DateTimeOffset);
}
var result = (DateTimeOffset)dr.GetValue(i);
return result;
var date = dr.GetValue(i);
if (date is DateTime)
{
return UtilMethods.GetDateTimeOffsetByDateTime((DateTime)(date));
}
else
{
var result = (DateTimeOffset)date;
return result;
}
}
public static DateTimeOffset? GetConvertdatetimeoffset(this IDataRecord dr, int i)
@@ -227,8 +235,16 @@ namespace SqlSugar
{
return default(DateTimeOffset);
}
var result = (DateTimeOffset)dr.GetValue(i);
return result;
var date = dr.GetValue(i);
if (date is DateTime)
{
return UtilMethods.GetDateTimeOffsetByDateTime((DateTime)(date));
}
else
{
var result = (DateTimeOffset)date;
return result;
}
}

View File

@@ -154,6 +154,13 @@ namespace SqlSugar
return (T)Convert.ChangeType(obj, typeof(T));
}
internal static DateTimeOffset GetDateTimeOffsetByDateTime(DateTime date)
{
date = DateTime.SpecifyKind(date, DateTimeKind.Utc);
DateTimeOffset utcTime2 = date;
return utcTime2;
}
internal static void RepairReplicationParameters(ref string appendSql, SugarParameter[] parameters, int addIndex, string append = null)
{
if (appendSql.HasValue() && parameters.HasValue())