gpt4 book ai didi

c# - 无法使用 Dapper 获取 Long 类型的数据

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:27 24 4
gpt4 key购买 nike

问题:我无法在 Oracle 数据库源中检索 Long 类型的列并将其设置为 .Net 类中的字符串属性

详细信息:在尝试使用 dapper 触发 SQL 查询并获取结果时,我遇到了一个相当奇怪的情况。我无法分享实际的类(class)细节,但这里有一个示例。我有一个类:

public class MyClass
{
public string VeryLongMessage { get; set; }
}

我触发了一个小巧的查询,如下所示:

using (var con = ConnectionUtility.GetConnection("MyConnectionString"))
{
var result = con.QueryAsync<MyClass>("SELECT VeryLongMessage FROM MyView");
}

但是当我检查结果中的值时,我在结果的 VeryLongMessage 属性中得到一个空值。

有没有其他人看到过这样的问题?有什么想法或建议吗?

我已经验证的事情:我的 dapper 查询的列名和属性都匹配。属性类型为字符串,Oracle 数据库 View 中的列为 Long。

如果您需要更多详细信息,请告诉我。

最佳答案

dapper issue 173

不幸的是,似乎有四种间接方式:

  • 修复数据库(在你的情况下你不能)

  • 添加额外的存储功能以获取 LONG 作为 CLOB。阅读Long to Varchar2 conversion..并在 AskTom 上找到类似主题

  • 修复小巧玲珑:)

  • 改用 ADO.NET

关于c# - 无法使用 Dapper 获取 Long 类型的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22963769/

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