让我们举个例子:
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
});
Run Code Online (Sandbox Code Playgroud)
我想打印出带有参数值的实际 SQL 查询以进行调试。我确信它有一些扩展或辅助功能......
Dapper 本身不包含该功能,作者倾向于使用MiniProfiler来捕获 SQL 查询(请参阅Marc Gravell 关于类似内容的回答)。
您还可以使用 SQL Profiler(假设您使用的是 SQL 数据库)。
最后,如果没有任何“现成的”适合您的需求,您可以包装与 Dapper 一起使用的数据库连接和命令,并在调用 ExecuteReader、ExecuteScalar 等时捕获/记录查询(和参数)。我在回答某人关于使用 Dapper 和 Access 的问题时提供了一些示例代码(尽管示例代码与数据库无关,因此您可以将“WrappedDbConnection”与您目前使用的任何数据库一起使用)。
| 归档时间: |
|
| 查看次数: |
12656 次 |
| 最近记录: |