问题:我无法在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");
}
但是当我检查结果中的值时,我在结果的VeryLongMessage属性中得到一个空值。
有没有人见过这样的问题?有什么想法或建议吗?
我已经验证过的事情:我的dapper查询的列名和属性都匹配。属性类型是字符串,Oracle db的视图中的列是Long。
如果您需要更多详细信息,请告知我们。
不幸的是,似乎有四种间接方式:
修复数据库(在你的情况下,你不能)
添加额外的存储结果以获取LONG作为CLOB。读取Long to Varchar2转换..并在AskTom上找到类似的主题
修理小巧玲珑:)
请改用ADO.NET