Son zamanlarda bir projemde kullanmak üzere farklı ORM’ler üzerinde çalışmaktayım.
İşte bu yazımda bunların sonuncusu olan Dapper hakkında bilgi vermek istiyorum.
PetaPoco, EntityFramework, Fluent NHibernate ile ilgili yazılarımı da dilerseniz okuyabilirsiniz.
Şimdi geçelim nedir bu Dapper ve farkları nelerdir?…
Dapper Nedir?
Aslında temelde Ado.Net tabanlı olan ve size sadece modelleme yaparak hızlı kodlama imkanı sağlayan bir ORM. Tabi bu kadar kısa ve net özetleyerek bundan ibaret olduğunu düşündürmek istemem. Özellikle performans olarak gerçekten ado.net’i aratmayacak performans sağlamakta. Dediğim gibi bunun asıl nedeni tamamen ado.net tabanlı olması ve ado.net sorgularını kullanıyor olması.
Peki Neden Ado.Net değil de Dapper?
Bunun için diyebileceğim tek şey, bir datatable, bir dataset’e çekmek kadar hızlı bir şekilde verilerinizi modellere ve dolayısıyla oradan da list tipine dönüştürebilmesi. Geri iletirken de aynı şekilde modeli ve parametreleri vermeniz yeterli. Bu şekilde ado.net içerisindeki kod kalabalığını epey bir azaltmış oluyor.
Hatırlayalım…
Ado.Net ile sorgularımızı yazarken ya storedprocedure kullanmalı ve parametreleri sql injection’lardan arındırarak procedure’ümüze iletmeliydik ya da sql sorgularını direk yollayarak yine parameter.add gibi çeşitli atraksiyonlarla uğraşmak zorunda kalıyorduk. İşte buradaki en büyük fark, tüm bu yükü çok hızlı ve başarılı bir şekilde sizin yerinize Dapper karşılıyor ve siz model ile gönderip, model ile cevabınız alabiliyorsunuz…
Nasıl kullanıldığına ve örnek kullanımlarına bir de örnek solution ile bir sonraki yazımda yer veriyor olacağım…
Merhabalar Erkan bey;
Dapper şuan üzerinde çalıştığım bir projede kullanıyorum. Hız olarak tek kelimeyle süper çalışıyor. Kullanım kolaylığıda cabası. Bir sonraki yazınızda kullanımıyla alakalı olacağını yazmışınız. Sizden bir ricam olabilir mi ? Hazırlayacağınız örnekte ilişkili tablolar kullanabilirmisiniz? Tablo birleştirme, multi queryiler çok faydalı olacağına eminim. Çünkü türkçe kaynak hiç yok gibi bir şey. Teşekkür ederim. Emeğinize Sağlık
Merhaba Osman Bey,
Elbette, zaten kullanımıyla alakalı yazıya başlamıştım. Talebiniz oldukça yerinde bir zamanda oldu. İlk fırsatta eklemelerimi yapacak ve yayınlayacağım. İlgiliniz için ben teşekkür ederim…