web-dev-qa-db-fra.com

Implémenter IDbConnection dans .Net Core

J'ai une application Web de base .Net et une bibliothèque de base .net. Lorsque j'utilise Dapper, j'ai besoin de passer dans une classe concrète qui hérite de IDbConnection. Le problème est que dans .Net Core System.Data n'est pas une référence viable, on dirait qu'ils s'en débarrassent.

Existe-t-il un remplacement .Net ou un package nuget que je peux utiliser où. Je dois me connecter à Microsoft Sql Server 2016

Modifier

J'ai tenté de créer une bibliothèque standard .Net pour voir si je pouvais utiliser System.Data de cette façon. Et je ne pouvais pas non plus ajouter System.Data au nouveau projet.

Modifier 2

J'ai trouvé un package nuget System.Data.Common. Cela semblait fonctionner, il avait l'interface IDbConnection mais je ne vois pas de moyen de se connecter à SQL. Je devrais faire ma propre implémentation de IDbConnection. Je suis donc à nouveau perdu.

9
christopher clark

Ajoutez System.Data.SqlClient package nuget en tant que dépendance. Il a

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

vous pourrez donc faire

using System.Data.SqlClient;
...

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