У меня есть сценарий, в котором мне нужно вернуть DataTable из запроса, используя Dapper.
Как мне вернуть DataTable из запроса, используя Dapper?
DataTable dt = connection.Query("SELECT * FROM table");
Ответ 1
Не будет никакого преимущества при использовании dapper для сценария с участием DataSet. И, в частности, ваш конкретный пример (без каких-либо параметров и т.д.) Настолько тривиален (не означает отрицательно - просто объективно), что вы можете использовать ExecuteReader напрямую или использовать DbDataAdapter
Однако я открыт для раскрытия API-интерфейса для dapper, который предоставляет API-интерфейс IDataReader от dapper - вы можете передать его любому желаемому пользователю, DataSet/DataTable. Но я действительно должен задаться вопросом: какой смысл в выполнении этого примера через dapper? Это может иметь большее значение, если вы, по крайней мере, используете dapper для обработки параметров (мне чертовски понравилось, как обрабатывается обработка параметров, скажем, правда).
Ответ 2
А? Dapper предоставляет только методы расширения через ADO.NET, чтобы вам не приходилось иметь дело с DataTables и DataSets!
Если вам нужны DataTables и DataSets - вы все равно можете использовать vanilla ADO.NET SqlDataAdapter предоставит вам все DataTables, которые вы пожелаете.