You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Dapper QuerySingleOrDefault报错:System.FormatException问题排查

Dapper 查询出现 System.FormatException 的可能原因

针对你提供的代码,出现System.FormatException: Input string was not in a correct format错误,常见原因如下:

  • DbString 配置与数据库字段不兼容
    你设置了IsAnsi = true(表示ANSI编码),如果数据库中username字段是nvarchar(Unicode类型),两者编码不匹配会导致参数转换失败。另外,IsFixedLength = true且Length = 255,如果数据库字段是可变长度类型(比如varchar(50)),强制固定长度的参数格式会和字段定义冲突。

  • 实体类与查询结果字段类型不匹配
    错误可能不是来自参数传递,而是Dapper将查询结果映射到Data类时出错。比如数据库中某个字段是int类型,但Data类对应的属性定义为string,Dapper尝试转换时会抛出格式错误。

  • DbString 参数长度设置不合理
    如果username字段的实际长度小于255,同时开启了IsFixedLength = true,Dapper会自动给参数值补空格到255位,若数据库字段不接受超长或固定长度的输入,会触发格式错误。

  • 数据库驱动/连接方式问题
    若使用的数据库驱动(比如OleDb)对Dapper的DbString类型支持不佳,参数解析时会出现格式错误,建议确认是否使用了对应数据库的官方驱动(比如SQL Server用SqlClient)。

内容的提问来源于stack exchange,提问作者Youssef Mohamed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 08:23:10