在.Net Core中实现IDbConnection

时间:2017-07-30 15:34:06

标签: c# interface asp.net-core .net-core dapper

我有一个.Net核心Web应用程序和.net核心库。使用Dapper时,我需要传入一个继承自IDbConnection的具体类。问题是.Net Core System.Data不是一个可行的参考,看起来他们正在废除它。

是否有.Net替换或nuget包我可以在哪里使用。我需要连接到Microsoft Sql Server 2016

修改

我尝试制作一个.Net标准库,看看我是否可以这样使用System.Data。我也无法将System.Data添加到新项目中。

修改2

我找到了一个nuget包System.Data.Common。这似乎有效,它有接口IDbConnection,但我无法看到连接到SQL的方法。我必须自己实现IDbConnection。所以我又不知所措了。

1 个答案:

答案 0 :(得分:10)

添加System.Data.SqlClient nuget包作为依赖项。它有

//
// Summary:
//     Represents an open connection to a SQL Server database. This class cannot be
//     inherited.
public sealed class SqlConnection : DbConnection

所以你可以做到

using System.Data.SqlClient;
...

using (IDbConnection dbConnection = new SqlConnection(connectionString))
{
    dbConnection.Open();
    // dbConnection.Execute(query, data);
}