DataAbstractions.Dapper Save

A light abstraction around Dapper and Dapper.Contrib that also maintains the behavior IDbConnection.

Project README

DataAbstractions.Dapper NuGet

A light abstraction around Dapper and Dapper.Contrib that also maintains the behavior IDbConnection. This library facilitates a loosely coupled design and unit testing.

IDataAccessor Interface

The IDataAccessor interface encapsulates Dapper extension methods. Just provide the connection to the DataAccessor.


IDataAccessor dataAccessor = new DataAccessor(new SqlConnection(connectionString));
        

Execute Dapper queries and commands as you would normally.


var person = await dataAccessor.QueryAsync<Person>(sql, new {Id});

Note: The dataAccessor should be disposed appropriately.

IDataReaderAccessor Interface

IDataReaderAccessor encapsulates IDataReader extension methods. Use GetDataReaderAccessor() to convert the IDataReader object to an IDataReaderAccessor.


var dataReader = await dataAccessor.ExecuteReaderAsync(sql);
var dataReaderAccessor = dataAccessor.GetDataReaderAccessor(dataReader);
var result = dataReaderAccessor.Parse<Person>();
        

Dapper.Contrib

IDataAccessor includes the Dapper.Contrib extension methods


dataAccessor.Insert(new Person { Name = "John Doe" });

Keeps IDbConnection behavior

IDataAccessor implements IDbConnection, so you can access things like the ConnectionTimeout, ConnectionString, and ConnectionState etc.

If you need access to the actual connection object, use GetUnderlyingConnection():

IDbConnection connection = dataAccessor.GetUnderlyingConnection();
Open Source Agenda is not affiliated with "DataAbstractions.Dapper" Project. README Source: codeapologist/DataAbstractions.Dapper
Stars
37
Open Issues
2
Last Commit
3 months ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating