Modern.Repositories.Dapper
2.1.1
dotnet add package Modern.Repositories.Dapper --version 2.1.1
NuGet\Install-Package Modern.Repositories.Dapper -Version 2.1.1
<PackageReference Include="Modern.Repositories.Dapper" Version="2.1.1" />
paket add Modern.Repositories.Dapper --version 2.1.1
#r "nuget: Modern.Repositories.Dapper, 2.1.1"
// Install Modern.Repositories.Dapper as a Cake Addin #addin nuget:?package=Modern.Repositories.Dapper&version=2.1.1 // Install Modern.Repositories.Dapper as a Cake Tool #tool nuget:?package=Modern.Repositories.Dapper&version=2.1.1
Modern Dapper Repository
To use Dapper repository install the Modern.Repositories.Dapper.DependencyInjection
Nuget package and register it within Modern builder in DI:
builder.Services
.AddModern()
.AddRepositoriesDapper(options =>
{
options.ProvideDatabaseConnection(() => new NpgsqlConnection(connectionString));
options.AddRepository<AirplaneDapperMapping, AirplaneDbo, long>();
});
Specify the type of Dapper mapping class, Dbo entity model and primary key.
A dapper needs to know how to create a database connection.
Since there are multiple database connection classes - provide the needed one using ProvideDatabaseConnection
method.
Dapper repository requires to have a small mapping class that way generic repository can match the entity property name with database table column.
Mapping class for Dapper is a part of Modern tools and not a part of Dapper library
For example consider the following mapping class:
public class AirplaneDapperMapping : DapperEntityMapping<AirplaneDbo>
{
protected override void CreateMapping()
{
Table("db_schema_name.airplanes")
.Id(nameof(AirplaneDbo.Id), "id")
.Column(nameof(AirplaneDbo.YearOfManufacture), "year_of_manufacture")
.Column(nameof(AirplaneDbo.ModelId), "model_id")
//...
;
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Ardalis.GuardClauses (>= 4.2.0)
- Dapper (>= 2.1.28)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Modern.Extensions.Microsoft.DependencyInjection (>= 1.2.0)
- Modern.Repositories.Abstractions (>= 1.1.0)
-
net7.0
- Ardalis.GuardClauses (>= 4.2.0)
- Dapper (>= 2.1.28)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Modern.Extensions.Microsoft.DependencyInjection (>= 1.2.0)
- Modern.Repositories.Abstractions (>= 1.1.0)
-
net8.0
- Ardalis.GuardClauses (>= 4.2.0)
- Dapper (>= 2.1.28)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Modern.Extensions.Microsoft.DependencyInjection (>= 1.2.0)
- Modern.Repositories.Abstractions (>= 1.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Modern.Repositories.Dapper:
Package | Downloads |
---|---|
Modern.Repositories.Dapper.DependencyInjection
A generic repository implementation using Dapper for CRUD and Query operations |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.1.1 | 104 | 11/4/2024 |
2.1.0 | 84 | 11/4/2024 |
2.0.0 | 215 | 11/29/2023 |
2.0.0-beta1 | 112 | 11/22/2023 |
1.0.2 | 153 | 11/15/2023 |
1.0.1 | 181 | 7/15/2023 |
1.0.0 | 187 | 5/22/2023 |
1.0.0-beta4 | 149 | 3/17/2023 |
1.0.0-beta3 | 147 | 2/22/2023 |
1.0.0-beta2 | 149 | 1/31/2023 |
1.0.0-beta1 | 147 | 1/25/2023 |
1.0.0-alpha1 | 160 | 8/27/2022 |