问题: 我无法在Oracle DB源中检索Long类型的列并将其设置为.Net中的类的字符串属性
详细信息: 在尝试使用dapper来解决SQL查询并获取结果时,我遇到了一个相当奇怪的情况。我不能分享实际的课程细节,但这里有一个样本。我有一节课:
public class MyClass
{
public string VeryLongMessage { get; set; }
}
我发出一个短小精悍的查询,如下所示:
using (var con = ConnectionUtility.GetConnection("MyConnectionString"))
{
var result = con.QueryAsync<MyClass>("SELECT VeryLongMessage FROM MyView");
}
但是当我检查结果中的值时,我在result的VeryLongMessage属性中得到一个空值。
还有其他人见过这样的问题吗?有什么想法或建议吗?
我已验证的内容: 我的dapper查询的列名和属性都匹配。属性类型是字符串,Oracle db的视图中的列是Long。
如果您需要更多详细信息,请与我们联系。
答案 0 :(得分:0)
不幸的是,似乎有四种间接方式:
修复数据库(在您的情况下,您不能)
添加额外存储的finction以获取LONG作为CLOB。阅读Long to Varchar2 conversion..并在AskTom
修复小巧玲珑:)
使用ADO.NET代替