编辑 1 : 尝试显式调用扩展方法时:
Dapper.SqlMapper.QueryAsync<dynamic>(cnx, "SELECT TOP 10 * FROM dbo.Company;");
我有一个更明确的错误消息:
“ Dapper.StrongName,版本= 1.50.2.0,Culture = neutral,PublicKeyToken = e3e8412083d25dd3”和“ Dapper,版本= 1.50.5.0,Culture = neutral,PublicKeyToken = null”中都存在类型“ SqlMapper” >
我能做些什么吗?
Dapper.StrongName是MiniProfiler(.Net标准1.5)的依赖项
我正在尝试与Dapper一起使用MiniProfiler,以查看将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,字符串,对象,System.Data.IDbTransaction,int?,System.Data.CommandType?)”和“ Dapper.SqlMapper.QueryAsync(System.Data.IDbConnection,字符串,对象,System.Data.IDbTransaction,int ?, System.Data.CommandType?)'
除非我需要一副新的杯子,否则歧义方法是相同的。
我在这里想念什么?
答案 0 :(得分:0)
解决方案是使用Dapper.StrongName nuget代替Dapper。
答案 1 :(得分:0)
还可以删除现有明确包含的对 Dapper 的 nuget 引用,并使用作为 MiniProfiler 存储提供程序的依赖项安装的内容。