1. Install Dapper from the Nuget package manager console 

2. Create a dapper context file

example: 

public class DapperContext

{

    private readonly IConfiguration _configuration;

    private readonly string _connectionString;

    public DapperContext(IConfiguration configuration)

    {

        _configuration = configuration;

        _connectionString = _configuration.GetConnectionString("DefaultConnection");

    }

    public IDbConnection CreateConnection()

        => new SqlConnection(_connectionString);

}

step 3: Service inject Program.cs file

builder.Services.AddScoped<DapperContext>();


step 4: After configuration dapper context 

any controller

private readonly DapperContext dapperContext;

public StudentController(DapperContext _dapperContext)

{

    dapperContext = _dapperContext;

}


using direct raw query

[HttpGet("[action]")]

public async Task<IActionResult> GetStudentWithDapper()

{

    using (var context = dapperContext.CreateConnection())

    {

        string query = "select * from Students";

        var data = context.Query(query);

        return Ok(data);

    }

}

using stored procedure

using (var context = dapperContext.CreateConnection())

    {

        string query = "SP_SalesInfo";

        DynamicParameters parameter = new DynamicParameters();

        parameter.Add("@Id", request.Id, DbType.Int32, ParameterDirection.Input);

        parameter.Add("@CustomerName", request.CustomerName, DbType.String,                     ParameterDirection.Input);

        parameter.Add("@ContactNo", request.ContactNo, DbType.String, ParameterDirection.Input);

        var result = await context.ExecuteAsync(query, parameter);

        int res = parameter.Get<int>("@MESSAGE");

    }