我有一个场景需要使用Dapper从查询中返回一个DataTable
。
如何使用Dapper从查询中返回一个DataTable
?
DataTable dt = connection.Query("SELECT * FROM table");
DataSet
的场景中,使用 dapper 没有任何优势。特别是,对于您的具体示例(没有任何参数等),它非常琐碎(并不是贬义 - 只是客观地说),您可以直接使用 ExecuteReader
或使用 DbDataAdapter
。
然而,我很乐意在 dapper 上公开一个 API,该 API 公开了来自 dapper 的 IDataReader
API - 您可以将其提供给任何您想要的消费者,包括 DataSet
/ DataTable
。但是我必须质疑:通过 dapper 执行此示例的点是什么?如果您至少使用 dapper 来处理参数,则可能更有意义(老实说,我对参数处理的工作结果感到高兴)。
什么?Dapper只提供了对ADO.NET的扩展方法 - 这样您就不必处理DataTable和DataSet!
如果您需要使用DataTable和DataSet - 您仍然可以使用原始的ADO.NET SqlDataAdapter 将为您提供所有您想要的DataTable。