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
81 yazı bulundu
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 14
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 17
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 13
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 18
EF Core 10 Yenilikleri: Named Query Filter, LeftJoin ve JSON'da Complex Type
Veritabanı SERİ 28

EF Core 10 Yenilikleri: Named Query Filter, LeftJoin ve JSON'da Complex Type

EF Core 10 LTS ile isimli query filter'lar ve IgnoreQueryFilters(["..."]), LeftJoin/RightJoin, normal lambda alan ExecuteUpdateAsync, JSON'a map edilen complex type ve ComplexCollection, padding'li parametreli collection'lar, SqlVector ile vektör araması ve SQLite DateTimeOffset breaking change'i.

5 Kas 2026 9 dk 27
EF Core 9 Yenilikleri: UseSeeding, Migration Locking ve PendingModelChangesWarning
Veritabanı SERİ 27

EF Core 9 Yenilikleri: UseSeeding, Migration Locking ve PendingModelChangesWarning

EF Core 9'da eksik migration'ı Migrate anında yakalayan PendingModelChangesWarning, HasData ve DateTime.Now tuzağı, UseSeeding/UseAsyncSeeding, __EFMigrationsLock ile migration locking, kendiliğinden bulunan compiled model'ler ve EFOptimizeContext, complex type ile ExecuteUpdate.

5 Kas 2026 9 dk 30
EF Core 8 Yenilikleri: Complex Type, Primitive Collection ve SqlQuery<T>
Veritabanı SERİ 26

EF Core 8 Yenilikleri: Complex Type, Primitive Collection ve SqlQuery<T>

EF Core 8 LTS ile gelen primitive collection'lar ve json_each, value object için ComplexProperty, entity olmayan tipler için SqlQuery<T>, no-tracking lazy loading, SQLite'ta JSON ve HierarchyId; Contains'in OPENJSON'a geçmesi ve UseCompatibilityLevel(120).

5 Kas 2026 10 dk 31
EF Core 7 Yenilikleri: ExecuteUpdate, ExecuteDelete, JSON Kolonlar ve TPC
Veritabanı SERİ 25

EF Core 7 Yenilikleri: ExecuteUpdate, ExecuteDelete, JSON Kolonlar ve TPC

EF Core 7 ile gelen ExecuteUpdate/ExecuteDelete, owned type'ı JSON kolona yazan ToJson, TPC inheritance, IMaterializationInterceptor, FromSql ve SqlQuery<int>; Encrypt=True ve HasTrigger gibi breaking change'lerle EF Core 6'dan geçiş.

5 Kas 2026 10 dk 30
Eski Projeler: EF Core 3.1 ve EF Core 5'ten EF Core 6'ya Geçiş
Veritabanı SERİ 24

Eski Projeler: EF Core 3.1 ve EF Core 5'ten EF Core 6'ya Geçiş

EF Core 3.0'da client evaluation'ın kalkması, FromSql'in FromSqlRaw/FromSqlInterpolated'a bölünmesi, EF Core 5'in many-to-many, filtered include ve split query'si, EF Core 6'ya geçerken Nullable'ın migration'lara etkisi ve destek durumları.

5 Kas 2026 11 dk 25
EF Core ve Mimari: Repository, CQRS'in Okuma Tarafı ve Dapper'a Geçiş
Veritabanı SERİ 23

EF Core ve Mimari: Repository, CQRS'in Okuma Tarafı ve Dapper'a Geçiş

Generic repository'nin WHERE'i nasıl sessizce belleğe taşıdığını gerçek SQL ile görüyor, DbContext'in zaten bir unit of work olduğunu tartışıyoruz. Aggregate'e özel repository, CQRS okuma tarafında projection ve aynı connection ile transaction'ı paylaşan Dapper ile kemik yapıyı tamamlıyoruz.

5 Kas 2026 10 dk 29
EF Core ile Test: SQLite In-Memory ve InMemory Provider Tuzakları
Veritabanı SERİ 22

EF Core ile Test: SQLite In-Memory ve InMemory Provider Tuzakları

InMemory provider'ın unique index'i, foreign key'i ve raw SQL'i nasıl sessizce geçtiğini gerçek test çıktılarıyla görüyor, SQLite in-memory ile gerçekçi testler kuruyoruz. Aynı context'te assert etmenin yarattığı yalancı yeşili ve DbContext'i soyutlama tartışmasını EF dokümantasyonunun önerileriyle ele alıyoruz.

5 Kas 2026 10 dk 30
Blog Haritası