Ja ze swojej strony polecam Dappera :)
Przykładzik (akurat z użysiem procedury):
using var connection = new SqlConnection(con.GetConnectionString());
List<Procedure> procedures = connection.Query<Procedure>("FundReports_pobierz_procedury", commandType: CommandType.StoredProcedure).ToList();
EDIT: Przykład do pytania z komentarza:
Jeżeli masz klasę Samochód, z polami: Id, Marka, SalonId to robisz to po prostu tak:
List<Samochod> samochod;
using (var c = new SqlConnection(**CONNECTION_STRING**))
{
samochod= c.Query<Samochod>("SELECT ID, Marka, SalonId FROM samochody").ToList();
}