请求Sugarsql中对inet字段的支持 返回
实体类配置属性为IPAddress时,对inet类型字段进行插入,报错如下:
System.InvalidCastException: Can't write CLR type System.Net.IPAddress with handler type TextHandler
at Npgsql.Internal.TypeHandlers.TextHandler.ValidateObjectAndGetLength(Object value, NpgsqlLengthCache& lengthCache, NpgsqlParameter parameter)
at Npgsql.NpgsqlParameter.ValidateAndGetLength()
at Npgsql.NpgsqlParameterCollection.ProcessParameters(TypeMapper typeMapper, Boolean validateValues, CommandType commandType)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
at SqlSugar.AdoProvider.ExecuteCommandAsync(String sql, SugarParameter[] parameters)
at SqlSugar.InsertableProvider`1.ExecuteCommandAsync()
at MUGHome.Backend.Repository.Upload.UploadInfoRepository.InsertUploadInfo(UploadInfo uploadInfo) in F:\CommunityBackend\MUGHome.Backend.Repository\Upload\UploadInfoRepository.cs:line 18
at MUGHome.Backend.Services.Upload.UploadServices.UploadSingleFile(JwtToken token, IFormFile file, String uploadPath) in F:\CommunityBackend\MUGHome.Backend.Services\Upload\UploadServices.cs:line 80
at MUGHome.Backend.Services.Upload.UploadServices.UploadFile(JwtToken token, IFormCollection formCollection) in F:\CommunityBackend\MUGHome.Backend.Services\Upload\UploadServices.cs:line 109
at MUGHome.Backend.WebAPI.Controllers.UploadController.UploadFile(IFormCollection formCollection) in F:\CommunityBackend\MUGHome.Backend.WebAPI\Controllers\UploadController.cs:line 36
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
通过查找原因应该是框架未对inet字段进行支持适配,请求作者进行适配
热忱回答(8)
-
fate sta VIP0
2023/2/26C#你用什么类型 inet
0 回复 -
siscon VIP0
2023/2/26@fate sta:inet类型在npgsql里对应的原始c#类型就是ipaddress
npgsql对其做了二次包装,有个npgsqlinet的类,本质就是Tuple<IPAddress,int>
0 回复 -
siscon VIP0
2023/2/26@fate sta:官网中给的映射类型是这些
https://www.npgsql.org/doc/types/basic.html?q=inet
0 回复 -
fate sta VIP0
2023/2/26这个我支持一下,晚点发布一个预览版本
0 回复 -
siscon VIP0
2023/2/26@fate sta:好的,谢谢作者大大,作者辛苦了
0 回复 -
fate sta VIP0
2023/3/5升级到
SqlSugarCore 5.1.3.55 支持了自定义数据类型
0 回复 -
fate sta VIP0
2023/3/50 回复 -
siscon VIP0
2023/3/10@fate sta:感谢大佬!
0 回复