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
28 yazı bulundu
Entity Framework Core Nedir? ORM Fikri ve EF Core'un Mimarisi
Veritabanı SERİ 01

Entity Framework Core Nedir? ORM Fikri ve EF Core'un Mimarisi

ORM'in neden var olduğunu düz ADO.NET kodundan yola çıkarak görüyoruz: EF Core'un DbContext, model, provider ve change tracker parçaları, SQLite ile SQL Server'ın aynı LINQ'ten ürettiği farklı SQL, EF6 ile EF Core farkı, Dapper karşılaştırması ve serinin kurgusu.

5 Kas 2026 9 dk 2
EF Core ile İlk Uygulama: DbContext, DbSet, SQLite ve Üretilen SQL
Veritabanı SERİ 02

EF Core ile İlk Uygulama: DbContext, DbSet, SQLite ve Üretilen SQL

Boş bir console projesinden ilk EF Core uygulamasını kuruyoruz: SQLite ve Design paketleri, local tool olarak dotnet-ef, DbContext ve DbSet, OnConfiguring, EnsureCreated, ilk ekleme ve sorgu, LogTo ve ToQueryString ile gerçek SQL ve EF Core 6 ile 10 arasındaki SQL farkları.

5 Kas 2026 10 dk 2
EF Core'da Model ve Convention'lar: Key, Nullable, Kolon Tipleri ve Shadow Property
Veritabanı SERİ 03

EF Core'da Model ve Convention'lar: Key, Nullable, Kolon Tipleri ve Shadow Property

EF Core'un modeli nasıl kurduğunu gerçek şema çıktılarıyla okuyoruz: key convention'ı, NRT ile NOT NULL ve NULL kolonlar, SQLite ve SQL Server kolon tipleri, decimal uyarısı, geçici key ve Guid üretimi, tablo adlarının nereden geldiği ve kendiliğinden oluşan shadow foreign key.

5 Kas 2026 9 dk 2
EF Core'da Data Annotation mı Fluent API mı? OnModelCreating ve IEntityTypeConfiguration
Veritabanı SERİ 04

EF Core'da Data Annotation mı Fluent API mı? OnModelCreating ve IEntityTypeConfiguration

Convention'ı değiştirmenin iki yolunu yan yana koyuyoruz: data annotation'lar ve OnModelCreating'de Fluent API. IEntityTypeConfiguration ve ApplyConfigurationsFromAssembly ile yapılandırmayı dağıtıyor, unique index, check constraint ve default değeri gerçek SQLite hatalarıyla test ediyor, öncelik sırasını ve bool default tuzağını görüyoruz.

5 Kas 2026 9 dk 3
EF Core'da İlişkiler 1: One-to-Many, Foreign Key ve Cascade Delete
Veritabanı SERİ 05

EF Core'da İlişkiler 1: One-to-Many, Foreign Key ve Cascade Delete

Author ve Book üzerinden one-to-many ilişkiyi kuruyoruz: principal, dependent ve foreign key, convention'ın ilişkiyi nasıl bulduğu, Fluent API ile HasOne/WithMany, graf ekleme ve fixup, zorunlu ve opsiyonel ilişki, Cascade, ClientSetNull ve Restrict davranışlarının yüklü ve yüklü olmayan dependent'larla gerçek SQLite çıktıları.

5 Kas 2026 10 dk 3
EF Core'da İlişkiler 2: One-to-One, Many-to-Many ve UsingEntity
Veritabanı SERİ 06

EF Core'da İlişkiler 2: One-to-One, Many-to-Many ve UsingEntity

Author ve AuthorProfile ile one-to-one'ı, Book ve Tag ile many-to-many'yi kuruyoruz: unique foreign key index'i, dependent tarafın belirlenememesi hatası ve HasForeignKey<T>, skip navigation'lar ve convention'la oluşan BookTag tablosu, UsingEntity ile join tablosunu adlandırmak ve TaggedAt payload'lı join entity.

5 Kas 2026 10 dk 2
EF Core Migrations: migrations add, database update, Script ve Bundle
Veritabanı SERİ 07

EF Core Migrations: migrations add, database update, Script ve Bundle

EF Core migration'larını uçtan uca çalıştırıyoruz: migrations add/remove, database update ve geri alma, migration dosyasının anatomisi, SQL script ve --idempotent, EF Core 6'nın migration bundle'ı ve açılışta Migrate() çağırmanın riskleri.

5 Kas 2026 10 dk 2
EF Core'da Seeding: HasData ile Model Seeding ve Uygulama Tarafında Seed
Veritabanı SERİ 08

EF Core'da Seeding: HasData ile Model Seeding ve Uygulama Tarafında Seed

EF Core'da başlangıç verisini iki yoldan ekliyoruz: HasData ile model seeding'in InsertData/UpdateData/DeleteData üretmesi, key ve navigation kuralları, dinamik değer tuzağı; sonra uygulama tarafında tekrar çalıştırılabilir bir seeder ve EF Core 9'un UseSeeding'ine kısa bir işaret.

5 Kas 2026 12 dk 2
EF Core ile LINQ Sorguları: SQL Çevirisi, Client Evaluation ve IQueryable Tuzağı
Veritabanı SERİ 09

EF Core ile LINQ Sorguları: SQL Çevirisi, Client Evaluation ve IQueryable Tuzağı

EF Core'da LINQ sorgusunun SQL'e çevrilişini adım adım izliyoruz: deferred execution, ToQueryString ve LogTo, filtreleme, sıralama ve sayfalama, projection, First/Single/Find farkı, son Select'te izin verilen client evaluation ve sessizce bütün tabloyu çeken IEnumerable tuzağı.

5 Kas 2026 12 dk 2
EF Core'da İlişkili Veri Yükleme: Include, Explicit ve Lazy Loading, Split Query
Veritabanı SERİ 10

EF Core'da İlişkili Veri Yükleme: Include, Explicit ve Lazy Loading, Split Query

EF Core'da ilişkili veriyi getirmenin üç yolunu gerçek SQL çıktılarıyla karşılaştırıyoruz: Include/ThenInclude ve filtered include, Entry API ile explicit loading, proxy'lerle lazy loading ve N+1 faturası; sonra cartesian explosion ve AsSplitQuery.

5 Kas 2026 12 dk 3
EF Core'da Change Tracking: Entity State'leri, AsNoTracking ve Identity Resolution
Veritabanı SERİ 11

EF Core'da Change Tracking: Entity State'leri, AsNoTracking ve Identity Resolution

EF Core'un change tracker'ını açıyoruz: beş entity state'i, ChangeTracker.Entries ve DebugView, aynı satır için tek nesne kuralı (identity resolution), AsNoTracking ile AsNoTrackingWithIdentityResolution farkı, DetectChanges'in ne zaman çalıştığı ve 'already being tracked' hatası.

5 Kas 2026 10 dk 5
EF Core ile Veri Kaydetme: SaveChanges, İlişkili Graf ve Disconnected Entity'ler
Veritabanı SERİ 12

EF Core ile Veri Kaydetme: SaveChanges, İlişkili Graf ve Disconnected Entity'ler

EF Core'da veri kaydetmenin iki dünyası: connected senaryoda Add/Remove ve yalnızca değişen kolonları yazan SaveChanges, SQLite ve SQL Server'da batching, ilişkili graf kaydetme ve yetim kayıtlar; disconnected senaryoda Update'in bütün kolonları yazması, yükle-değiştir, SetValues, Attach ve IsModified.

5 Kas 2026 11 dk 2
Blog Haritası