我有一个场景需要使用Dapper从查询中返回DataTable
。
如何使用Dapper从查询中返回DataTable
?
DataTable dt = connection.Query("SELECT * FROM table");
答案 0 :(得分:6)
对于涉及DataSet
的方案,使用dapper没有任何优势 。特别是,您的具体示例(没有任何参数等)是如此微不足道(并非消极地 - 只是客观地说),您也可以直接使用ExecuteReader
,或使用DbDataAdapter
但是,我很乐意在dapper上公开一个API,它会从dapper中公开IDataReader
API - 您可以将其提供给您想要的任何消费者,DataSet
/ DataTable
。但我真的必须质问:通过dapper执行这个例子的点是什么?如果你至少使用dapper来处理参数可能会更有意义(我对参数处理的工作原理感到高兴,实话告诉我们。)
答案 1 :(得分:2)
咦? Dapper只提供ADO.NET的扩展方法 - 这样您就不必处理DataTables和DataSet了!
如果DataTables和DataSet是您想要的 - 您仍然可以使用vanilla ADO.NET - SqlDataAdapter(http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.aspx)将为您提供您心中所需的所有DataTable:)