在我的数据库中,我有一个 nvarchar 类型的 ID 列,因为它包含唯一的用户名。在我的 .Net MVC 应用程序中,我使用 Dapper 来处理数据库交换。然后DapperExtensions.Get(dynamic id)
我在我的模型上使用 ID 字段获取特定条目。这在所有情况下都很好用,除了出现以下错误的用户:
将 nvarchar 值“abcdefg”转换为数据类型 int 时转换失败。
我知道这是 ID 列,因为当它用于使用 Dapper 提取实体时,该值存在于我的 User 模型的 ID 属性中。我最好的猜测是,也许 Dapper 期望该dynamic id
参数是一个 int 并试图这样使用它。我希望比我自己更了解的人对此进行澄清。
我已确保我的数据库表为此字段使用 nvarchar 并将其标记为主键。
谢谢