/DapperCoreTutorial

Dapper ORM'ine ait metotları barındıran unit test projesidir. .NET 6 alt yapısına sahiptir. Northwind veritabanı kullanılmıştır.

Primary LanguageC#

[TR] Dapper ORM'ine ait metotları barındıran unit test projesidir. .NET 6 alt yapısına sahiptir. Northwind veritabanı kullanılmıştır. 15.11.2021'de bütün projeleri .NET 6'ya yükselttim.

image

DapperUnitTest.cs'de örnek testleri bulabilirsiniz. DataAccess projesinde Dapper için GenericRepository tasarımı yapıldı. Her entity için Abstract interface ve Concrete sınıflar oluşturuldu. Dapper.Contrib nuget paketi kurularak metotları temel CRUD işlemleri için geliştirildi.

image

DataAccess projesinde Abstract interfacede oluşturulan metotlar, generic repositorydeki ortak metotlara ek olarak oluşturulabilir.

IProductDal

image

DapperProductDal

image

Business projesinde ise QueryMethods ve ExecuteMethods dosyaları bulunur. Bu dosyalar sırasıyla Dapper'a ait Query ve Execute methodları barındırdığı için isimler bu şekilde ayrılmıştır. Ayrıca Asenkron işlemleri de desteklediği için DapperAsyncMethods dosyası da bulunur.

Generic repository metotlarını kullanacak iş metotları, her entity için Abstract interface ve Concrete sınıflarda oluşturuldu.

Models projesinde ise Northwind'e uyumlu entityler mevcuttur.(Products, Categories tabloları vs.)

[EN] This project is Unit Test Project that runs DapperORM methods. It creates with .NET 6 Northwind used as example database. In 15.11.2021, all class libraries migrated from .NET 5 to .NET 6

DapperUnitTest.cs has sample tests for some Dapper methods from Business project.

DataAccess project includes GenericRepository for Dapper. Dapper.Contrib nuget package added on this project to design generic repository easily. Created Abstract interfaces and Concrete classses for each entities. This enhancement satisfies basic CRUD operations.

Methods in Abstract interfaces on DataAccess project are additional operations to generic repository common methods.

Business project includes QueryMethods ve ExecuteMethods class files which have Dapper's built-in Query ve Execute methods respectively. Also, the project includes DapperAsyncMethods file which has async built in functions to support asynchronous operations. Created Abstract interfaces and Concrete classses for each entities which methods work for their business.

Models project has entities of Northwind database.(Products, Categories tables etc.)