让我们举一个例子:
const string PERSON_SQL = "SELECT Id " +
"FROM Persons " +
"WHERE LastName=@LastName AND FirstName=@FirstName";
patientId = connection.ExecuteScalar<int>(PERSON_SQL, new
{
LastName = _entity.Lastname,
FirstName = _entity.Firstname
});
我想打印出带参数值的实际SQL查询以进行调试。我确信它有一些扩展或辅助功能......
答案 0 :(得分:1)
Dapper本身不包含该功能,作者倾向于使用MiniProfiler来捕获SQL查询(参见Marc Gravell's answer about something similar)。
您也可以使用SQL事件探查器,假设您正在使用SQL数据库。
最后,如果没有什么&#34;现成的&#34;根据您的需要,您可以包装与Dapper一起使用的数据库连接和命令,并在调用ExecuteReader,ExecuteScalar等时捕获/记录查询(和参数)。我在my answer to a question someone had about using Dapper with Access中有一些示例代码(虽然示例代码与数据库无关,因此您可以使用&#34; WrappedDbConnection&#34;以及您当前使用的任何数据库)。