Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
153 yazı bulundu #backend
Dapper ile QueryMultiple ve GridReader: Tek Round Trip'te Birden Fazla Result Set
Veritabanı SERİ 09

Dapper ile QueryMultiple ve GridReader: Tek Round Trip'te Birden Fazla Result Set

Dapper'da QueryMultiple ve GridReader ile tek command'dan birden fazla result set okuyoruz: grid'lerin neden sırayla ve bir kez okunduğunu, master-detail bir siparişi tek round trip'te yüklemeyi, iki result set'i bellekte birleştirmeyi, unbuffered grid tuzağını ve multi-mapping ile ne zaman hangisini seçeceğimizi gerçek çıktılarla görüyoruz.

6 Kas 2026 10 dk 11
Dapper ile Multi-Mapping ve splitOn: İlişkili Verileri Tek Sorguda Okumak
Veritabanı SERİ 08

Dapper ile Multi-Mapping ve splitOn: İlişkili Verileri Tek Sorguda Okumak

Dapper'da multi-mapping'in row'ları column dilimlerine nasıl böldüğünü, varsayılan splitOn = "Id" hatasını, özel ve virgüllü splitOn'u, 1-N için dictionary pattern'ini ve LEFT JOIN'deki null davranışını görüyor; N+1 problemini JOIN ve IN @ids ile ölçerek çözüyoruz.

6 Kas 2026 11 dk 12
Dapper ile Transaction: BeginTransaction, Commit, Rollback ve TransactionScope
Veritabanı SERİ 07

Dapper ile Transaction: BeginTransaction, Commit, Rollback ve TransactionScope

Yarım kalan bir siparişten yola çıkıp Dapper'da BeginTransaction, transaction: parametresi, commit ve dispose ile rollback'i kuruyoruz; parametreyi unutmanın SQLite'ta neden sessiz kaldığını, isolation level'ları ve TransactionScope'un async ve SQLite tuzaklarını gerçek çıktılarla görüyoruz.

6 Kas 2026 10 dk 16
Dapper ile Async ve Connection Yönetimi: CancellationToken, Pooling ve DI
Veritabanı SERİ 06

Dapper ile Async ve Connection Yönetimi: CancellationToken, Pooling ve DI

Dapper'da CancellationToken'ın neden yalnızca CommandDefinition ile gittiğini, SQLite'ta async'in aslında senkron çalıştığını, connection pooling'i, tek connection paylaşmanın neden patladığını ve ASP.NET Core'da connection factory pattern'ini gerçek çıktılarla görüyoruz.

6 Kas 2026 11 dk 14
Dapper Execute ile INSERT, UPDATE, DELETE: Etkilenen Satırlar ve Yeni Id
Veritabanı SERİ 05

Dapper Execute ile INSERT, UPDATE, DELETE: Etkilenen Satırlar ve Yeni Id

Execute ile INSERT, UPDATE ve DELETE çalıştırıp etkilenen satır sayısını okuyor, yeni id'yi RETURNING ve last_insert_rowid() ile alıyoruz; SQL Server OUTPUT ve PostgreSQL RETURNING farkına bakıp listeyle Execute'un neden bulk olmadığını ölçüyoruz.

6 Kas 2026 10 dk 11
Dapper ile Parameter'lar ve SQL Injection: Güvenli Sorgunun Kuralları
Veritabanı SERİ 04

Dapper ile Parameter'lar ve SQL Injection: Güvenli Sorgunun Kuralları

String birleştirmenin neden SQL injection'a kapı açtığını gerçek bir saldırıyla görüyor, ardından anonymous object, DynamicParameters, IN @Ids list expansion, DbString ve $ önekini inceliyoruz; ORDER BY @Column gibi sessiz tuzaklarla.

6 Kas 2026 10 dk 14
Dapper ile Tek Satır Sorguları: QueryFirst, QuerySingle ve ExecuteScalar
Veritabanı SERİ 03

Dapper ile Tek Satır Sorguları: QueryFirst, QuerySingle ve ExecuteScalar

QueryFirst, QueryFirstOrDefault, QuerySingle ve QuerySingleOrDefault'u sıfır, bir ve çok satırla yan yana çalıştırıp hangi exception'ı ne zaman fırlattıklarını görüyoruz; default(T), nullable tipler ve ExecuteScalar<T> tuzaklarıyla.

6 Kas 2026 10 dk 14
Dapper ile Query ve Mapping: Kolonlar Property'lere Nasıl Map Edilir?
Veritabanı SERİ 02

Dapper ile Query ve Mapping: Kolonlar Property'lere Nasıl Map Edilir?

Query<T>'nin kolonları property'lere nasıl map ettiğini görüyoruz: büyük-küçük harf duyarsız mapping, sessizce atlanan kolonlar, NULL ve varsayılan değerler, MatchNamesWithUnderscores ve cache tuzağı, dynamic sonuçlar, record'larda constructor mapping'i.

6 Kas 2026 10 dk 10
Dapper Nedir? ADO.NET'in Üzerindeki İnce Katman ve İlk Sorgu
Veritabanı SERİ 01

Dapper Nedir? ADO.NET'in Üzerindeki İnce Katman ve İlk Sorgu

Dapper'ı ADO.NET üzerine eklenen extension method'lar olarak tanıyoruz: micro-ORM ne demek, EF Core ile ne zaman hangisi, .NET 10 + Dapper 2.1.89 + SQLite kurulumu, ilk Query ve 1.x'ten Dapper.AOT'ye kısa tarihçe.

6 Kas 2026 11 dk 15
.NET 10 Yenilikleri: ASP.NET Core'da AddValidation, OpenAPI 3.1 ve Server-Sent Events
Backend SERİ 36

.NET 10 Yenilikleri: ASP.NET Core'da AddValidation, OpenAPI 3.1 ve Server-Sent Events

.NET 10 LTS ile minimal API'de AddValidation, OpenAPI 3.1 ve YAML, TypedResults.ServerSentEvents, System.Text.Json tabanlı JSON Patch, dotnet run app.cs, C# 14 ve cookie auth 401/403 gibi breaking change'ler.

4 Kas 2026 9 dk 44
.NET 9 Yenilikleri: ASP.NET Core'da Yerleşik OpenAPI, Scalar ve HybridCache
Backend SERİ 35

.NET 9 Yenilikleri: ASP.NET Core'da Yerleşik OpenAPI, Scalar ve HybridCache

.NET 9 ile Swashbuckle template'ten çıktı: AddOpenApi/MapOpenApi, transformer'lar, Scalar ve Swagger UI, stampede korumalı HybridCache, TypedResults.InternalServerError, StatusCodeSelector, C# 13 ve 24 aylık STS desteği.

4 Kas 2026 9 dk 40
.NET 8 ile ASP.NET Core Yenilikleri: Keyed DI, IExceptionHandler, Identity API ve Native AOT
Backend SERİ 34

.NET 8 ile ASP.NET Core Yenilikleri: Keyed DI, IExceptionHandler, Identity API ve Native AOT

.NET 8 ile gelen keyed DI, IExceptionHandler, MapIdentityApi, ShortCircuit, TimeProvider ve Native AOT'u .NET 6 karşılaştırmasıyla anlatıyor; C# 12'ye, geçiş notlarına ve 10 Kasım 2026 destek bitişine bakıyoruz.

4 Kas 2026 9 dk 41
Blog Haritası