相关疑难解决方法(0)

Dapper歧义扩展方法

我正在将Dapper作为ORM解决方案进行测试,并且遇到了某些扩展方法(例如Execute或)的问题QueryMultiple

using (SQLiteConnection con = new SQLiteConnection(GetConnectionString()))
{
    con.Open();
    string sql = @"
        select * from Customer where Id = @id;
        select * from Address where CustomerId = @id;";

    // QueryMultiple extension ambiguous?
    using (var multi = con.QueryMultiple(sql, new { id = 1 }))
    {
        Customer customer = multi.Read<Customer>().Single();
        Address address = multi.Read<Address>().Single();
    }

    con.Close();
}
Run Code Online (Sandbox Code Playgroud)

我得到错误

在以下方法或属性之间的调用是模棱两可的:'Dapper.SqlMapper.QueryMultiple(System.Data.IDbConnection,字符串,对象,System.Data.IDbTransaction,int ?, System.Data.CommandType?)'和'Dapper.SqlMapper .QueryMultiple(System.Data.IDbConnection,string,dynamic,System.Data.IDbTransaction,int ?, System.Data.CommandType?)'

而且不知道如何正确解决这个问题。Dapper的例子没有提到这样的问题,只是使用了QueryMultiple。我能够使用以下方式避免歧义

var multi = con.QueryMultiple(new CommandDefinition(sql, new { id = 1 …
Run Code Online (Sandbox Code Playgroud)

c# dapper

9
推荐指数
1
解决办法
1337
查看次数

如何在C#中诊断和删除模糊引用?

(请随意为此问题建议更准确的标题.)

在我的Visual Studio 2015解决方案中,我有三个项目(让我们称之为Alpha,Beta和Gamma)或多或少相同,但不同之处在于它们定义了不同的后端.这两个项目都将一个类热插入同一个命名空间:

Α:

namespace SharedNamespace {
    public class SharedClass {
        // implement SharedClass using Alpha's backend
    }
}
Run Code Online (Sandbox Code Playgroud)

Beta版:

namespace SharedNamespace {
    public class SharedClass {
        // implement SharedClass using Beta's backend
    }
}
Run Code Online (Sandbox Code Playgroud)

伽玛:

namespace SharedNamespace {
    public class SharedClass {
        // implement SharedClass using Gamma's backend
    }
}
Run Code Online (Sandbox Code Playgroud)

有几个项目使用这个热插拔类,每个类都引用Alpha,Beta或Gamma.其中一个(让我们称之为Omricon)用于引用Alpha,但现在引用Gamma:

// ...
SharedNamespace.SharedClass sharedClass;
sharedClass.DoThing();
// ...
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试构建Omricon时,C#编译器会给出错误CS0433:

The type 'SharedClass' exists in both 'Alpha, Version=0.0.0.0 (etc)' 
and 'Gamma, Version=0.0.0.0 (etc)'
Run Code Online (Sandbox Code Playgroud)

但是,Omricon 在构建时引用Gamma - …

c# visual-studio-2015

2
推荐指数
1
解决办法
479
查看次数

标签 统计

c# ×2

dapper ×1

visual-studio-2015 ×1