GetTableName(date) 当date为DateTimeOffset类型时会报错 返回

SqlSugar 沟通中
2 187
该叫什么 ufo 发布于1个月前
悬赏:0 飞吻
 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

  • GetTableName

    默认分表目前只支持datetime

    0 回复
  • 如果是自定义分表,你要看你重写的方法。

    0 回复