ENTİTY FRAMEWORK CORE

EĞİTİM SÜRESİ
-
- 5 Gün
- Ders Süresi: 50 dakika
- Eğitim Saati: 10:00 - 17:00
Eğitim formatında eğitimler 50 dakika + 10 dakika moladır. 12:00-13:00 saatleri arasında 1 saat yemek arası verilir. Günde toplam 6 saat eğitim verilir. 5 günlük formatta 30 saat eğitim verilmektedir.
Eğitimler uzaktan eğitim formatında tasarlanmıştır. Her eğitim için Teams linkleri gönderilir. Katılımcılar bu linklere girerek eğitimlere katılırlar. Ayrıca farklı remote çalışma araçları da eğitmen tarafından tüm katılımlara sunulur. Katılımcılar bu araçları kullanarak eğitimlere katılırlar.
Eğitim yapay zeka destekli kendi kendine öğrenme formasyonu ile tasarlanmıştır. Katılımcılar eğitim boyunca kendi kendine öğrenme formasyonu ile eğitimlere katılırlar. Bu eğitim formatı sayesinde tüm katılımcılar gelecek tüm yaşamlarında kendilerini güncellemeye devam edebilecekler ve her türlü sorunun karşısında çözüm bulabilecekleri yeteneklere sahip olacaklardır.
Entity Framework Core Eğitimi
Günümüz rekabetçi iş dünyasında, veri en değerli varlığınızdır. .NET uygulamalarınızın verimliliğini, hızını ve ölçeklenebilirliğini artırmak, stratejik başarınız için kritik öneme sahiptir. İşte tam da bu noktada Entity Framework Core (EF Core) Kurumsal Eğitimimiz devreye giriyor.
Bu eğitim, ekibinizin EF Core'u en ileri düzeyde kullanarak kurumsal kalitede, yüksek performanslı ve sürdürülebilir veri erişim katmanları geliştirmesini sağlamak üzere özel olarak tasarlanmıştır.
Entity Framework Core Nedir? Neden Önemlidir?
Entity Framework Core (EF Core), Microsoft tarafından geliştirilen, açık kaynaklı ve platformlar arası bir Nesne-İlişkisel Eşleyici (ORM - Object-Relational Mapper) aracıdır. En basit tabirle, .NET uygulamalarınızdaki C# gibi programlama dillerinde tanımladığınız nesneleri (sınıfları) doğrudan bir ilişkisel veritabanındaki tablolarla eşleştiren bir köprü görevi görür.
Bu eşleştirme sayesinde, veritabanı işlemleri için karmaşık SQL sorguları yazmak yerine, projenizdeki C# kodunu ve LINQ (Language Integrated Query) gibi yüksek seviyeli dil yapılarını kullanırsınız. EF Core, yazdığınız bu kodları sizin için otomatik olarak ilgili veritabanı sorgularına çevirir ve sonuçları tekrar C# nesnelerine dönüştürür.
-
Geliştirme Hızını Artırır
SQL sorguları yazmak ve veritabanı şemasını manuel olarak yönetmek zaman alıcıdır. EF Core, bu süreci otomatize ederek geliştiricilerin iş mantığına daha fazla odaklanmasını sağlar. Daha az "boilerplate" (kalıp) kod yazıldığı için projeler daha hızlı tamamlanır ve pazara sunma süresi kısalır -
Veritabanı Bağımsızlığı Sağlar
EF Core, farklı ilişkisel veritabanı sağlayıcılarını (örneğin, SQL Server, PostgreSQL, MySQL, SQLite, Oracle) destekler. Bu, uygulamanızın temel veri erişim mantığını değiştirmeden, altta yatan veritabanı sistemini kolayca değiştirebileceğiniz anlamına gelir. Bu esneklik, uzun vadede mimari kararlarınız için büyük bir avantajdır. -
Sürdürülebilirliği ve Yönetilebilirliği Artırır
Code-First Yaklaşımı: C# sınıflarınızdan veritabanı şemasını oluşturmanıza ve güncellemenize olanak tanır. Bu, kod ve veritabanı arasında tutarlılık sağlar.
Migrations (Göçler): Veritabanı şemasındaki değişiklikleri versiyonlamanıza ve bu değişiklikleri otomatik olarak uygulamanıza izin verir. Bu, dağıtım süreçlerini basitleştirir ve hata riskini azaltır.
Okunabilirlik: LINQ sorguları, karmaşık SQL'e göre genellikle daha okunabilir ve anlaşılırdır, bu da kodun bakımını kolaylaştırır. -
Test Edilebilirliği İyileştirir
EF Core, veritabanı katmanını uygulamanızın geri kalanından daha iyi ayırmanıza yardımcı olur. Bu sayede, veritabanına gerçek bir bağlantı kurmadan bile veri erişim mantığınızı test etmek için InMemory veritabanı veya mock (sahte) nesneler kullanabilirsiniz. Bu, birim testlerin yazımını ve uygulamasını çok daha kolay hale getirir. -
Performans Optimizasyonları Sunar
EF Core, sorgu performansını artırmak için çeşitli dahili mekanizmalara sahiptir. Doğru kullanıldığında (örneğin, N+1 sorunlarından kaçınma, asenkron işlemler, sorgu projeksiyonları), uygulamalarınızın veri erişim hızını önemli ölçüde iyileştirebilir. -
Güvenliği Destekler
Parametreli sorgular kullanarak SQL enjeksiyon saldırılarına karşı doğal bir koruma sağlar. Bu, veritabanı işlemlerinizin daha güvenli olmasını sağlar.

EĞİTİM İÇERİĞİ
1. EF Core'a Giriş ve Temel Konseptler
Object-Relational Mapping (ORM) Temelleri:
- Veritabanı ile uygulama katmanı arasındaki köprüyü kuran ORM prensipleri, EF Core'un bu yapıdaki konumu ve avantajları (geliştirme hızlandırma, veritabanı bağımsızlığı, kod tekrarının azaltılması).
DbContext ve DbSet Yönetimi:
-
Uygulama ile veritabanı arasındaki ana bağlantı noktası olan DbContext'in yaşam döngüsü yönetimi, performansa etkileri ve DbSet
'ler aracılığıyla varlık setlerinin nasıl temsil edildiği.
Varlık Tanımlama ve Konfigürasyon:
- Veritabanı tablolarını temsil eden POCO (Plain Old CLR Object) varlık sınıflarının tasarlanması; Data Annotations ve Fluent API kullanarak sütun tipleri, anahtarlar, indeksler ve varsayılan değerler gibi modelleme seçeneklerinin detaylı incelenmesi.
2. Veritabanı Etkileşimleri ve Temel CRUD Operasyonları
Veritabanı Migrasyonları:
- Model değişikliklerinin veritabanı şemasına (tablo oluşturma, kolon ekleme/silme, tip değiştirme) nasıl güvenli ve sürdürülebilir bir şekilde uygulandığı; Add-Migration, Update-Database komutları ve migrasyon stratejileri.
Temel LINQ Sorgulama:
- IEnumerable ve IQueryable arasındaki farklar, LINQ to Entities kullanarak veritabanından veri çekme, filtreleme (Where), sıralama (OrderBy), gruplama (GroupBy) ve projeksiyon (Select) operasyonlarının temelden uygulamalı gösterimi.
Veri Ekleme, Güncelleme ve Silme:
- DbContext ve DbSet yöntemleri (Add, Update, Remove) ile temel CRUD (Create, Read, Update, Delete) operasyonlarının gerçekleştirilmesi, SaveChanges() mekanizması ve hata yönetimi.
İlişkisel Veri Modelleri:
- Bire-bir (One-to-One), bire-çok (One-to-Many) ve çoka-çok (Many-to-Many) ilişkilerin varlık sınıflarında ve Fluent API ile model konfigürasyonunda nasıl tanımlandığı, gezinti özellikleri.
Değişiklik Takibi (Change Tracking):
- EF Core'un varlıkların durumlarını (Added, Modified, Deleted, Unchanged, Detached) otomatik olarak nasıl algıladığı ve veritabanına yansıttığı mekanizma, Entry() yöntemi ile manuel durum yönetimi.
3. Asenkron Programlama ve İlişki Yükleme Stratejileri
Asenkron Programlama ile Veri Erişimi:
- Uygulama duyarlılığını artırmak ve I/O yoğun veritabanı işlemlerinde performansı optimize etmek için async/await anahtar kelimeleriyle asenkron EF Core operasyonlarının (ToListAsync, FirstOrDefaultAsync, SaveChangesAsync vb.) kullanımı.
İlişki Yükleme Stratejileri (Lazy, Eager, Explicit):
- İlişkili verilerin ne zaman ve nasıl yükleneceğinin (tembel yükleme, istekli yükleme, açık yükleme) detaylı analizi, her bir stratejinin performansa etkileri, Include(), ThenInclude() ve Load() yöntemlerinin kullanımı.
4. İleri Düzey Sorgu Optimizasyonu ve Ham SQL Kullanımı
Performans Odaklı Sorgular:
- AsNoTracking() ile sorgu performansını artırma ve takip yükünü azaltma, N+1 problemine karşı SplitQuery() kullanımı, CompiledQuery() (önbelleğe alınmış sorgular) ile tekrar eden sorguların hızlandırılması ve veritabanı hit'lerini azaltma teknikleri.
Ham SQL Sorguları ve Saklı Yordamlar:
-
LINQ'in yetersiz kaldığı durumlar, karmaşık sorgular veya mevcut saklı yordamların kullanımı için FromSqlRaw(), ExecuteSqlRaw() ve DbSet
.FromSqlInterpolated() yöntemleriyle doğrudan SQL erişimi ve parametreli sorguların güvenli kullanımı.
5. İşlem Yönetimi ve Varlık Yaşam Döngüsü Özelleştirmeleri
Veritabanı İşlemleri ve Kilitlenme Yönetimi:
- Atomik operasyonlar için DbContext içerisinde transaction yönetimi (BeginTransaction, Commit, Rollback), dağıtık transactionlar ve iyimser (optimistic) / kötümser (pessimistic) kilitlenme stratejilerinin EF Core ile uygulanması.
Varlık Yaşam Döngüsü ve Interceptor lar:
- Varlıkların farklı durum geçişleri (Added, Modified, Deleted, Unchanged, Detached) ve veritabanı operasyonlarından önce/sonra özel mantık uygulamak için IInterceptor arayüzünün (örneğin, denetim kaydı, soft delete) detaylı kullanımı.
6. Global Filtreler, Shadow Özellikler ve Bağımlılık Enjeksiyonu
Global Sorgu Filtreleri ve Shadow Özellikler:
- Tüm sorgulara otomatik olarak uygulanan filtrelerin (örneğin, çok kiracılı uygulamalarda tenant ID filtreleme, soft delete) konfigürasyonu ve varlık sınıfında tanımlanmayan ancak modelde mevcut olan "shadow" özelliklerin veritabanı eşleştirmesi ve kullanımı.
Dependency Injection ile EF Core Entegrasyonu:
- ASP.NET Core ve diğer modern .NET uygulamalarında DbContext'in bağımlılık enjeksiyon konteynerine kaydı, farklı yaşam döngüsü seçenekleri (scoped, transient, singleton) ve çoklu DbContext kullanımı.
7. Kurumsal Mimari Desenler ve Test Stratejileri
Unit of Work ve Repository Desenleri:
- Veri erişim katmanını iş mantığından soyutlamak ve test edilebilirliği artırmak için kurumsal uygulamalarda yaygın olarak kullanılan Unit of Work ve Repository desenlerinin EF Core ile doğru ve etkin uygulanması.
Test Edilebilir EF Core Uygulamaları:
- Birim testleri ve entegrasyon testleri için In-memory veritabanı, gerçek veritabanı kullanımı, veritabanı mocking kütüphaneleri (örneğin, Moq) ve test stratejileri (veri hazırlığı, geri alma mekanizmaları).
8. Gelişmiş Model Konfigürasyonları ve Performans Optimizasyonları
Özel Model Yapılandırmaları ve Tip Dönüştürücüler:
- Karmaşık veri tipleri (örneğin JSON kolonları, kendi değer nesneleri, Enum'lar) için ValueConverter kullanımı, Owned Entity Types ve özel model konfigürasyonlarını daha derinlemesine ele alma.
Veritabanı Tasarım Desenleri (Inheritance Mapping):
- Kalıtım hiyerarşilerinin veritabanı şemasına (Table-Per-Hierarchy - TPH, Table-Per-Type - TPT, Table-Per-Concrete - TPC) nasıl eşleneceği, her bir desenin avantajları, dezavantajları ve kullanım senaryoları.
Gelişmiş Performans Optimizasyonları:
- Compiled Models'ın detaylı kullanımı, DbContext Pooling'in derinlemesine ayarları, N+1 problemine karşı daha gelişmiş çözümler, QuerySplittingBehavior'ın performansa etkileri ve gelişmiş sorgu optimizasyon teknikleri.
9. DevOps ve Güvenlik Odaklı Yaklaşımlar
DevOps ve CI/CD Süreçlerinde EF Core Migrasyonları:
- Uygulama dağıtım boru hattında otomatik veritabanı migrasyonlarının güvenli ve verimli bir şekilde nasıl yönetileceği, dağıtım öncesi ve sonrası senaryoları, veritabanı sürümleme stratejileri.
Güvenli Yazılım Geliştirme (OWASP Top 10 ve Güvenlik Kodlama):
- Sorgu enjeksiyonu ve diğer güvenlik açıklarını önlemek için EF Core'un rolü, parametreli sorguların önemi, hassas veri yönetimi, input doğrulama ve genel güvenli kodlama prensipleri.
EĞİTİM YÖNTEMİ
Eğitimlerimiz, pratik ve uygulamalı öğrenmeyi merkeze alır. Her teorik konunun ardından, bilginin pekişmesi ve gerçek dünya becerilerinin gelişmesi için yoğun laboratuvar senaryolarıyla destekleriz. Katılımcılar, öğrendiklerini kendi elleriyle uygulayarak kalıcı bilgi edinirler. Ayrıca, resmi dokümantasyonun etkin kullanımı ve sınav simülasyonları ile katılımcıların hem bilgi hem de zaman yönetimi becerilerini en üst seviyeye çıkarmayı hedefleriz. Öğrenme süreci boyunca sürekli geri bildirim ile katılımcıların gelişimini yakından takip eder, eksik noktalarını belirleyerek kişiselleştirilmiş destek sunarız.
10. Bulut Entegrasyonları ve İzleme
Bulut Ortamlarında EF Core Kullanımı ve Bağlantı Direnci:
- Azure SQL Database, AWS RDS gibi bulut veritabanlarıyla EF Core entegrasyonu, geçici hata yönetimi (retry policy) ve bağlantı direnci (Connection Resiliency) stratejilerinin bulut uygulamalarındaki önemi.
Veritabanı İzleme ve Teşhis (DiagnosticSource):
- EF Core tarafından yayılan olayları dinleyerek sorgu performansını, hata durumlarını, veritabanı bağlantılarını ve diğer operasyonel metrikleri izleme ve teşhis etme araçları (örneğin, Application Insights, OpenTelemetry).
11. Çoklu Veritabanı Ortamları ve EF Core 9 Yenilikleri
Çoklu Veritabanı Sağlayıcıları ve Dağıtık Sistemler:
- Farklı veritabanı sistemleri (SQL Server, PostgreSQL, SQLite, MySQL) ile çalışma, sağlayıcı bağımsız kod yazma pratikleri ve mikroservis mimarilerinde EF Core kullanım senaryoları.
EF Core 9 Yenilikleri ve Gelecek Trendleri:
- EF Core 9 ile birlikte gelmesi beklenen yeni özellikler, performans iyileştirmeleri, gelecek versiyonlardaki potansiyel gelişmeler ve sektördeki veri erişim trendleri hakkında vizyoner bir bakış.
Gelişmiş Veritabanı Tipleri (JSON, Spatial, Temporal Tables):
- JSON kolonları ile karmaşık verilerin depolanması ve sorgulanması, coğrafi veri tipleri (Spatial Data) ile konum bazlı uygulamalar geliştirme ve veri geçmişini tutan Temporal Tabloların EF Core ile entegrasyonu ve kullanımı.
Özel Konvansiyonlar ve Model Oluşturma Süreci:
- EF Core'un varsayılan davranışlarını özelleştirmek için özel konvansiyonlar yazma, model oluşturma sürecinin derinlemesine incelenmesi ve IModelCacheKeyFactory gibi gelişmiş kavramlar.
HEDEF KİTLE
- .NET Yazılım Geliştiricileri: Mevcut ve yeni projelerinde EF Core'u etkin bir şekilde kullanmak, veri erişim katmanlarını optimize etmek ve güncel en iyi pratikleri uygulamak isteyen tüm .NET geliştiricileri.
- Junior ve Mid-Level Geliştiriciler: Veritabanı etkileşimlerini basitleştirmek, kodlama süreçlerini hızlandırmak ve kariyerlerinde bir sonraki adıma geçmek isteyen, EF Core'a yeni başlayan veya temel düzeyde bilgiye sahip olan yazılımcılar.
- Senior Geliştiriciler ve Takım Liderleri: EF Core'un ileri düzey özelliklerini, performans optimizasyonlarını ve kurumsal mimarilerdeki yerini derinlemesine anlamak, projelerinde daha sürdürülebilir ve yönetilebilir veri çözümleri tasarlamak isteyen deneyimli profesyoneller.
- Yazılım Mimarları: Uygulama mimarilerinde veri erişim katmanını stratejik olarak konumlandırmak, farklı veritabanı senaryolarına uygun çözümler üretmek ve teknoloji seçimlerinde sağlam kararlar vermek isteyen mimarlar.
- Veritabanı Geliştiricileri: .NET tarafındaki veri erişim süreçlerini daha iyi anlamak ve uygulama geliştiricilerle daha etkin işbirliği yapmak isteyen veritabanı uzmanları.
KATILIMCILARDAN BEKLENTİLERİMİZ
- Temel C# ve .NET Bilgisi: Eğitime başlamadan önce C# programlama diline ve .NET platformunun temel kavramlarına (sınıflar, nesneler, arayüzler vb.) aşina olmanız, konuları daha hızlı kavramanıza yardımcı olacaktır.
- Veritabanı Temellerine Hakimiyet: SQL sorgularına, ilişkisel veritabanı kavramlarına (tablolar, birincil/yabancı anahtarlar, ilişkiler) temel düzeyde hakim olmanız, EF Core'un çalışma prensiplerini daha iyi anlamanızı sağlayacaktır.
- Aktif Katılım ve Merak: Eğitim süresince sorular sormanız, tartışmalara dahil olmanız ve pratik uygulamalara etkin bir şekilde katılmanız, öğrenme deneyiminizi zenginleştirecektir. Meraklı ve araştırmaya açık bir tutum sergilemeniz, bilginizi pekiştirmenize olanak tanıyacaktır.
- Pratiğe Odaklanma: Teorik bilgilerin yanı sıra, verilen örnek uygulamaları bizzat denemeniz ve kendi mini projelerinizi geliştirmeniz, EF Core yetkinliğinizi pratik düzeyde geliştirmenizi sağlayacaktır.
Aradığınız Eğitimi Bulduğunuzu Düşünüyorsanız!
Kurumsal eğitim içeriklerimizde sektörün trend ve güncel konularında lider konumdayız. Bu farkı siz de hızla fark edeceksiniz. Dünyada en çok tercih edilen ve 1-10 puanlama sistemine göre 9.5 ve üzeri puan almış konular, sizin için titizlikle hazırlandı.
25 yıllık eğitim sektörü deneyimi ve uluslararası proje tecrübeleriyle birleşerek, dünya çapında yapılan yıllık analizler doğrultusunda en güncel trend kurumsal gereksinimler ve talepler derlendi. Kendi özgün kaynaklarımızla oluşturduğumuz laboratuvar ortamlarında tüm eğitim içerikleri ve laboratuvar çalışmaları hazırlandı. Kurumsal ihtiyaçlarınız doğrultusunda gerekli tüm eğitim konuları hazır hale getirilmiş ve danışmanlık seviyesinde saha deneyimleriyle birleştirilmiştir.
Dünya standartlarında eğitim içerikleri ve sunum yöntemleri bir araya getirilerek tasarlandı. Eğitim sürecine katılan tüm katılımcılar için GitHub repoları aracılığıyla hazır çalışma ortamları oluşturuldu. Ayrıca, hayat boyu erişilebilecek kaynaklar ve eğitim materyalleri katılımcılara sunulmaktadır.
Kapsamlı Handsonlar ile Zenginleştirilmiş Kurumsal Eğitimlerimiz
Tüm eğitimlerimiz, kurumsal eğitim formatında sunulmaktadır. Eğitimler, talepleriniz doğrultusunda ihtiyaçlarınıza göre güncellenir ve katılımcılarla birlikte sizin belirlediğiniz senaryolar işlenir. Bu sayede, eğitmenin değil, sizin ihtiyaçlarınıza yönelik konularla donatılmış bir eğitim tamamlanır. Eğitimle birlikte danışmanlık hizmeti de sağlanmış olur. Katılımcılar en yüksek faydayı sağlayarak eğitimlerini tamamlarlar. Ayrıca her eğitimde kapsamlı eğitim içerikleri git ortamında katılımcılara verilir. Çalışmalar bu materyallerle yapılır ve eğtim süresince katılımcılar ve eğitmen tarafından güncellenir. Aradan yıllar geçse de eğitim anındaki tüm materyallere erişim sağlanabilir.
Sizin İçin Özel Hazırlananan Kurumsal Workshoplarımız
Workshoplar konuların 360 derece açıdan ele alındığı, konuların derinlemesine işlendiği, handsonlar ile katılımcıların birlikte çalışma fırsatı bulduğu en kapsamlı eğitim formatımızdır.
Sizin İçin Özel Hazırlananan Kurumsal Seminerlerimiz
Tüm seminerlerimiz sizin senaryolarınız ve ihtiyaçlarınız için size özel hazırlanır. Katılımcı profiline uygun özel örnekler ve katılımı teşvik edecek özel içerikler ile zenginleştirilir.