Dapper ile İç İçe(Nested) Nesneleri Mapleme Örneği

Hakan Topuz
2 min readNov 1, 2018

Merhabalar,

Öncelikle Dapper’dan biraz bahsedelim.Dapper sıkça kullanılan bir micro orm’dir.StackoverFlow geliştiricileri tarafından yazılmıştır.Micro orm’ler arasında en hızlılardan biridir.Bu sebeple çokça tercih edilir.

Dapper, tek bir dll den oluşur.LightWeight(mapleme yapmak için konfigürasyon dosyasına ihtiyaç duymaz) dır.Basit ve hızlıdır.Entity Framework’te olduğu gibi bize query yazma imkanı sağlamaktadır.

Şimdi dapper ile, ilişkili nesneleri nasıl mapleyeceğimizi görelim.Bu konuda bir yazı yazmayı düşünmüyordum aslında.Fakat bir telefon mülakatında böyle bir soru gelince, ki bende dapper ile daha önce böyle bişey yapmamıştım.Merak edip araştırdım ve sizlerle de paylaşmak istedim.

Bu arada Dapper’ı Nuget ten projenize dahil edebilirsiniz.

Kodlamaya geçecek olursak, ben database olarak meşhur Northwind database’ini kullandım.Bu database’deki Order ve OrderDetails tablolarını Dapper ile birbirine map li bir şekilde çağıracağım.

Öncelikle .Net tarafında nesnelerimizi oluşturalım.

Görüldüğü üzere bir Orders nesnemiz var.Bu nesnenin içinde liste olarak OrderDetails nesnesi mevcut.İlgili order ve bu order’ın detay verileri.Birbirleri ile OrderID üzerinden one to many ilişkiye sahipler.

Şimdi mapleme işlemine geçelim.

Connectionstring’i web.config’te tanımlayarak database erişimini sağlıyoruz.

Kodun içerisinde commentlerle ne yapıldığını belirttim.Sonuç olarak şu şekilde bir görüntü ortaya çıkmaktadır.

İç içe(nesned) nesneleri Dapper ile bu şekilde gayet hızlı ve basit bir şekilde mapleyebiliriz.Bu arada Dapper kullanımı içinde bir örnek yapmış olduk.İçerisine ilgili query yi yazarak istediğiniz verileri mapleyebilirsiniz.

Açıkçası daha önce yapmış olduğum projelerde, Entity Framework’ün ağır kaldığı yerlerde Dapper kullanmayı tercih etmiştik.Bir projeyi tümüyle Dapper ile yapmak, çok büyük veriler ile uğraşmıyorsanız biraz zahmetli oluyor bana göre.

Böylelikle bir yazımızın daha sonuna geldik.

Mutlu kodlamalar.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Hakan Topuz
Hakan Topuz

Responses (1)

Write a response

Merhaba böyle bir yapıyı store procedure ile kurmak da mümkün müdür? Birde bu yapı 2'den fazla tablo için yapılabilir mi?

--