尝试使用dapper获取SqlDataReader
,但在标题上获取错误。
以下是代码:
using (var reader = (SqlDataReader)con.ExecuteReader(query))
{
while (reader.Read())
{
//do stuff here with reader
}
}
答案 0 :(得分:4)
尽可能SymbolVisitor,WrappedReader
是:
#if DNXCORE50
internal class WrappedReader : WrappedDataReader
#else
internal class WrappedReader : IDataReader, IWrappedDataReader
WrappedDataReader
和IWrappedReader
都定义了Reader
属性,允许您获取基础SqlDataReader
。因此,请尝试将代码更改为:
(SqlDataReader)((IWrappedDataReader)con.ExecuteReader(query)).Reader { ... }
或者:
(SqlDataReader)((WrappedDataReader)con.ExecuteReader(query)).Reader { ... }
话虽如此,您可能希望实际使用原始(包装)阅读器作为您的using
子句 - 这样就有机会对.Dispose()
做出反应。如果你这样做,你可以在using
子句的正文中获取sql阅读器,然后再使用它。