Modern.Repositories.Dapper.DependencyInjection
1.0.5
dotnet add package Modern.Repositories.Dapper.DependencyInjection --version 1.0.5
NuGet\Install-Package Modern.Repositories.Dapper.DependencyInjection -Version 1.0.5
<PackageReference Include="Modern.Repositories.Dapper.DependencyInjection" Version="1.0.5" />
paket add Modern.Repositories.Dapper.DependencyInjection --version 1.0.5
#r "nuget: Modern.Repositories.Dapper.DependencyInjection, 1.0.5"
// Install Modern.Repositories.Dapper.DependencyInjection as a Cake Addin #addin nuget:?package=Modern.Repositories.Dapper.DependencyInjection&version=1.0.5 // Install Modern.Repositories.Dapper.DependencyInjection as a Cake Tool #tool nuget:?package=Modern.Repositories.Dapper.DependencyInjection&version=1.0.5
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 was computed. 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
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 7.0.0)
- Modern.Extensions.Microsoft.DependencyInjection (>= 1.0.0)
- Modern.Repositories.Dapper (>= 1.0.2)
-
net7.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 7.0.0)
- Modern.Extensions.Microsoft.DependencyInjection (>= 1.0.0)
- Modern.Repositories.Dapper (>= 1.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
1.0.5 | 268 | 11/15/2023 | |
1.0.2 | 184 | 7/15/2023 | |
1.0.1 | 160 | 5/29/2023 | |
1.0.0 | 164 | 5/22/2023 | |
1.0.0-beta4 | 166 | 3/17/2023 | |
1.0.0-beta3 | 166 | 2/22/2023 | |
1.0.0-beta2 | 174 | 1/31/2023 | |
1.0.0-beta1 | 171 | 1/25/2023 | |
1.0.0-alpha1 | 167 | 8/27/2022 |