Links
Dapper is ideal for scenarios where performance is critical and developers want fine-grained control over the database operations.
Dapper is also easy to learn and use comparing to EF.
Nuget packages
dotnet add package Dapper
dotnet add package MySQLConnection
Dependency Injection
Program.cs
var connectionString = builder.Configuration.GetConnectionString ("MyDatabase" );
builder.Services.AddSingleton <IDbConnectionFactory , MySqlConnectionFactory >(
_ => new MySqlConnectionFactory (connectionString ));
DataAccess/MySqlConnectionFactory.cs
public class MySqlConnectionFactory : IDbConnectionFactory
{
private readonly string connectionString ;
public MySqlConnectionFactory (string connectionString )
{
this .connectionString = connectionString;
}
public IDbConnection CreateConnection () => new MySqlConnection (connectionString );
}
afficher DataAccess/IDbConnectionFactory.cs
public interface IDbConnectionFactory
{
IDbConnection CreateConnection ();
}