编辑1:尝试显式调用扩展方法时:
Dapper.SqlMapper.QueryAsync<dynamic>(cnx, "SELECT TOP 10 * FROM dbo.Company;");
我有一个更明确的错误消息:
“SqlMapper”类型存在于“Dapper.StrongName, Version=1.50.2.0, Culture=neutral, PublicKeyToken=e3e8412083d25dd3”和“Dapper, Version=1.50.5.0, Culture=neutral, PublicKeyToken=null”
我能做点什么吗?
Dapper.StrongName 是 MiniProfiler(.Net 标准 1.5)的依赖项
我正在尝试将 MiniProfiler 与 Dapper 一起使用来查看发送到后端的 SQL 命令。
我有以下代码来按需生成检测连接:
private static DbConnection GetCnx(bool instrumented = false)
{
var cnx = new SqlConnection("Data Source=foo;Initial Catalog=bar;Integrated Security=SSPI;");
// Enabling statistics for logging purposes
if (instrumented)
return new ProfiledDbConnection(cnx, MiniProfiler.Current);
else
return cnx;
}
以下消费代码将不再编译:
using (DbConnection cnx = GetCnx())
{
await cnx.OpenAsync();
return await cnx.QueryAsync<dynamic>("SELECT TOP 10 * FROM dbo.Company;");
}
以下方法或属性之间的调用不明确:'Dapper.SqlMapper.QueryAsync(System.Data.IDbConnection, string, object, System.Data.IDbTransaction, int?, System.Data.CommandType?)' 和 'Dapper.SqlMapper .QueryAsync(System.Data.IDbConnection, string, object, System.Data.IDbTransaction, int?, System.Data.CommandType?)'
模棱两可的方法是相同的,除非我需要一副新的玻璃。
我在这里想念什么?