Dapper存储过程调用正确的数据库

时间:2016-11-17 13:13:14

标签: c# asp.net dapper

我有以下单一数据库结构:

Server
  |
  Database
    + Tables
    + Programmability(stored procedures)

我使用以下方法使用Dapper进行存储过程调用:

public List<Events> GetEvents()
{
    using (var connection = new SqlConnection(SQLSettings.GetConnectionString()))
    {
        return connection.Query<Events>("GetEvents", commandType: CommandType.StoredProcedure).ToList();
    }

}

但现在我正在将后端更改为多个数据库结构,例如:

Server
  |
  Database1
    + Tables
    + Programmability(stored procedures)
  |
  Database2
    + Tables
    + Programmability(stored procedures)

我的问题是,我如何修改我的方法以确保它能够访问存储过程所在的正确数据库?

2 个答案:

答案 0 :(得分:1)

您确保使用正确的连接字符串。

using (var connection = new SqlConnection("Connection string of the first db"))
{
    return connection.Query<Events>("GetEvents", commandType: CommandType.StoredProcedure).ToList();
}

using (var connection = new SqlConnection("Connection string of the second db"))
{
    return connection.Query<Events>("GetEvents", commandType: CommandType.StoredProcedure).ToList();
}

答案 1 :(得分:1)

假设您知道在哪个DB(1或2)中找到SP,请使用以下任一方法:

using (var connection = new SqlConnection(SQLSettings.GetConnectionString1()))
{ ... }

using (var connection = new SqlConnection(SQLSettings.GetConnectionString2()))
{ ... }