无法使用Dapper获取长类型的数据

本文关键字:类型 数据 获取 Dapper | 更新日期: 2023-09-27 17:57:32

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

详细信息:在尝试使用dapper启动SQL查询并返回结果时,我遇到了一个相当奇怪的情况。我无法分享实际的类详细信息,但这里有一个示例。我有一门课:

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

我启动一个dapper查询,如下所示:

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

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

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

我已验证的内容:我的dapper查询的列名和属性都匹配。属性类型为string,Oracle数据库视图中的列为Long。

如果你需要更多细节,请告诉我。

无法使用Dapper获取长类型的数据

查看dapper问题173

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

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

  • 添加额外存储的fintion以获取LONG作为CLOB。读取Long到Varchar2的转换。。并在AskTom 上找到类似的主题

  • 修复适配器:)

  • 使用ADO.NET而不是