无法使用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问题173
不幸的是,似乎有四种间接方式:
-
修复数据库(在您的情况下,您不能)
-
添加额外存储的fintion以获取LONG作为CLOB。读取Long到Varchar2的转换。。并在AskTom 上找到类似的主题
-
修复适配器:)
-
使用ADO.NET而不是