gpt4 book ai didi

c# - Dapper - 从字符串到 int 的 Sql 到对象隐式转换

转载 作者:太空狗 更新时间:2023-10-29 23:17:55 27 4
gpt4 key购买 nike

我正在使用 dapper,但在将字符串值从 db 转换为 int 时遇到了问题。有没有人覆盖 TypeMap 以允许这样做?

任何建议都会很棒。

最佳答案

Dapper 对其映射的类型很挑剔。这可以保护您免受以后弹出的各种讨厌的错误。

例如,您的数据库可能返回:

  • 010你好
  • 10a10
  • 374837483748374837483748374834784378437438743874384738473

对于将这种东西映射到 Int32 没有明确的行动方案

也就是说,您可以使用 dapper 遵循两种不需要更改 IL 生成的策略。

选项一:影子属性

class Foo
{
public int Age
{
get
{
int age;
int.TryParse(ageString, out age);
return age;
}
}
string ageString;
}

\\ usage
cnn.Query<Foo>("select ageString from TableWithString");

选项2,在SQL中转换

cnn.Query<Bar>("select cast(ageString as int) Age from TableWithString");

没有干净的方法来扩展 Dapper 中的映射功能,如果您这样做,您将需要将我们随着时间推移添加的任何修复合并到您的本地副本。

关于c# - Dapper - 从字符串到 int 的 Sql 到对象隐式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7068438/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com