与MiniProfiler一起使用时,为什么DapperQueryAsync存在歧义



编辑1:当尝试显式调用扩展方法时:

Dapper.SqlMapper.QueryAsync<dynamic>(cnx, "SELECT TOP 10 * FROM dbo.Company;");

我有一个更明确的错误消息:

类型"SqlMapper"同时存在于"Dapper.StrongName,Version=1.52.0,Culture=neutral,PublicKeyToken=e3e8412083d25dd3"one_answers"Dapper,Version=1.0.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.StrongName nuget而不是Dapper。

还可以删除现有的明确包含的对Dapper的nuget引用,并根据MiniProfiler存储提供程序安装。

相关内容

  • 没有找到相关文章

最新更新