GetTableName(date) 当date为DateTimeOffset类型时会报错 返回
public async Task<string> SavePressureToExcelByDate(DateTimeOffset date)
{
var tabelname = DB.SplitHelper<Pressure>()
.GetTableName(date);
}目前解决方案是将date替换为date.DateTime
但是建表时用DateTimeOffset作为分表字段没有问题
以下为报错信息:
System.InvalidCastException
HResult=0x80004002
Message=Unable to cast object of type 'System.DateTimeOffset' to type 'System.IConvertible'.
Source=System.Private.CoreLib
StackTrace:
at System.Runtime.CompilerServices.CastHelpers.<IsInstanceOf_NoCacheLookup>g____PInvoke|4_0(Void* __toTypeHnd_native, Int32 __throwCastException_native, ObjectHandleOnStack __obj_native)
at System.Runtime.CompilerServices.CastHelpers.<IsInstanceOf_NoCacheLookup>g____PInvoke|4_0(Void* __toTypeHnd_native, Int32 __throwCastException_native, ObjectHandleOnStack __obj_native)
at System.Runtime.CompilerServices.CastHelpers.ChkCastAny_NoCacheLookup(Void* toTypeHnd, Object obj)
at System.Runtime.CompilerServices.CastHelpers.ChkCast_Helper(Void* toTypeHnd, Object obj)
at System.Convert.ToDateTime(Object value)
at SqlSugar.DateSplitTableService.GetTableName(ISqlSugarClient db, EntityInfo entityInfo, SplitType splitType, Object fieldValue)
at SqlSugar.SplitTableContext.GetTableName(Object fieldValue)
at Telipuer._2ndpl.Repository.Dao.<SavePressureToExcelByDate>d__7.MoveNext() in C:\work\TELIPUER\telipuer.-secondary-pl.blazor\Telipuer.2ndpl\Telipuer.2ndpl\Repository\Dao.cs:line 42
at Telipuer._2ndpl.Services.ExcelService.<OpenExcelByDate>d__0.MoveNext() in C:\work\TELIPUER\telipuer.-secondary-pl.blazor\Telipuer.2ndpl\Telipuer.2ndpl\Services\ExcelService.cs:line 19
at Telipuer._2ndpl.Views.Components.Components.DateSelectDialog.<ConfirmButton_OnClick>d__20.MoveNext() in C:\work\TELIPUER\telipuer.-secondary-pl.blazor\Telipuer.2ndpl\Telipuer.2ndpl\Views\Components\Components\DateSelectDialog.razor:line 38
热忱回答(2)
-
fate sta VIP0
2周前GetTableName
默认分表目前只支持datetime
0 回复 -
fate sta VIP0
2周前如果是自定义分表,你要看你重写的方法。
0 回复