imgen / Dakata

A DAL layer implemented using Dapper + SqlKata + Slapper.AutoMapper + Dapper.ColumnMapper

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dakata

A DAL layer implemented using Dapper + SqlKata + Slapper.AutoMapper + Dapper.ColumnMapper. Most features will work with any database SqlKata supports. But certain features / APIs such as InsertAll, UpdateAll will only work with SQL Server and MySQL since that's what I used in my own code. If someone can add support for other databases such as Postgres or Oracle, feel free to make a PR.

IDbProvider interface

IDbProvider interface is a simple abstraction of a database's behavior such as creating the connection, maximum parameter count, when insert, how to retrieve the inserted id, etc. The UtcNowExpression is used for columns that its value is an SQL expression instead of an value passed by the caller, such as TimeCreated, TimeUpdated, etc. Please see SqlServerDbProvider file for reference implementation.

I only created IDbProvider implementation for SQL Server and MySQL. It's very easy to implement for other databases that SqlKata supports.

Examples project

The examples XUnit test project uses SQL Server sample database WorldWideImporters. You can import the database by downloading the .bak file from below link

WorldWideImporters Sample DB

You probably need to change the connection string if you install SQL Server on a different machine or don't use Windows Authentication for authentication

The examples project is in .NET 8.0 so you need to have the lataest version of Visual Studio 2022

About

A DAL layer implemented using Dapper + SqlKata + Slapper.AutoMapper + Dapper.ColumnMapper

License:MIT License


Languages

Language:C# 100.0%