Dapper ORM Nedir? Öne Çıkan Görsel

Dapper Nedir? Performanslı Bir ORM Aracı

Dapper, .NET uygulamalarında veritabanı işlemlerini hızlı ve verimli bir şekilde gerçekleştirmek için kullanılan mikro ORM (Object-Relational Mapper) kütüphanesidir. .NET dünyasında en popüler ORM araçlarından biri olan Entity Framework (EF) ile kıyaslandığında, Dapper’ın çok daha hafif ve performans odaklı olduğu görülür.

Dapper’ın Avantajları

  • Hızlı ve Performanslı: Dapper, doğrudan SQL sorgularını çalıştırdığı için Entity Framework gibi ağır ORM’lere kıyasla çok daha hızlıdır.
  • Kolay Kullanım: Basit bir arayüze sahip olup, minimal kod ile veritabanı işlemlerini gerçekleştirebilirsiniz.
  • ADO.NET Üzerine Kurulu: ADO.NET’in performans avantajlarını korurken ORM’nin kolaylığını sunar.
  • SQL Üzerinde Tam Kontrol: Tamamen SQL sorguları ile çalıştığı için geliştiricilere esneklik sağlar.
  • Desteklenen Veritabanları: MSSQL, MySQL, PostgreSQL, SQLite gibi birçok veritabanı ile uyumludur.

 

Dapper’ın Kullanımı

Dapper’ı projeye eklemek için öncelikle NuGet paketi yüklenmelidir: Bunu Tools -> NuGet Package Manager -> Manage NuGet Packages For Solution’ı seçip Browse kısmına gelip kütüphane yazarak ekleyebildiğiniz gibi aşağıdaki gibi komutla da ekleyebilirsiniz.

Install-Package Dapper

Ardından, bir veritabanı bağlantısı açarak sorgularınızı Dapper ile çalıştırabilirsiniz:

using System.Data.SqlClient;
using Dapper;

string connectionString = "Server=myServer;Database=myDB;User Id=myUser;Password=myPass;";
using (var connection = new SqlConnection(connectionString))
{
var users = connection.Query<User>("SELECT * FROM Users").ToList();
}

CRUD İşlemleri

Ekleme (Insert)

string insertQuery = "INSERT INTO Users (Name, Age) VALUES (@Name, @Age)";
connection.Execute(insertQuery, new { Name = "Ali", Age = 25 });

Güncelleme (Update)

string updateQuery = "UPDATE Users SET Age = @Age WHERE Name = @Name";
connection.Execute(updateQuery, new { Name = "Ali", Age = 26 });

Silme (Delete)

string deleteQuery = "DELETE FROM Users WHERE Name = @Name";
connection.Execute(deleteQuery, new { Name = "Ali" });

Alternatifleri ve Karşılaştırması

Entity Framework ile Farkları

  • Performans: Dapper, Entity Framework’e kıyasla çok daha hızlıdır. Entity Framework, nesne takip mekanizması ve LINQ desteği nedeniyle ek yük oluşturabilir.
  • Kullanım Kolaylığı: Entity Framework, ORM işlemlerini soyutladığı için daha az SQL bilgisi gerektirir. Dapper ise SQL sorgularını doğrudan yazmayı gerektirir.
  • Esneklik: Dapper, SQL üzerinde tam kontrol sağlarken, Entity Framework birçok işlemi arka planda yönetir.
  • Bağlam Yönetimi: Entity Framework, bir DbContext üzerinden çalışırken, Dapper doğrudan bağlantı nesnesi (SqlConnection) ile işlem yapar.
  • Veri Modelleme: Entity Framework, ilişkisel veritabanlarını daha doğal bir şekilde yönetir ve ilişkisel verileri otomatik olarak takip ederken, Dapper’da manuel ilişkisel veritabanı yönetimi gereklidir.

Sonuç

Dapper, yüksek performanslı ve hafif bir ORM kütüphanesi arayan .NET geliştiricileri için mükemmel bir seçimdir. Özellikle büyük ölçekli projelerde, veritabanı işlemlerini hızlandırmak ve SQL kontrolünü elinde tutmak isteyenler için büyük avantaj sağlar. Ben mevcut çalıştığım projelerde de büyük projelerden ziyade küçük projelerde daha sıklıkla kullanmaktayım.

Aşağıda dapperı kullanarak yaptığım örnek videolar mevcut. İyi seyirler..

 

Bunlara Göz Atmak İsteyebilirsiniz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir