Entity Framework Veri Katmanı Tasarımı

Entity Framework Veri Katmanı Tasarımı

Turkish: Üst düzey program geliştirme için, Entity Framework veri katmanı tasarımı büyük önem taşır Bu eğitimde adım adım verilen örneklerle hem giriş seviyesi hem de profesyonel kullanıcılar için en iyi pratiği öğrenin Örneklerin yanı sıra sorularınız için de rehberlik edeceğiz Başlamak için hemen tıklayın!
Translation: For top-level program development, Entity Framework data layer design is of great importance In this training, learn the best practice for both entry-level and professional users with step-by-step examples In addition to examples, we will also guide your questions Click to start now!

Entity Framework Veri Katmanı Tasarımı

Entity Framework, .NET platformunda kullanılan bir veri erişim teknolojisidir. Bir veri tabanı yönetim sisteminden (VTYS) veri alınmasını, veri güncellenmesini ve veri silinmesini kolaylaştırır. Bu makalede, Entity Framework kullanarak veri katmanı tasarımı yapmak için ihtiyaç duyduğunuz adımları öğrenin.

Veri katmanı tasarlamak için ilk adım, veri modelini oluşturmaktır. Veri modeli, Entity Framework tarafından kullanılan nesnelerin yapısal bir taslağıdır. Veri modelini oluşturmak için Code First veya Database First yaklaşımını kullanabilirsiniz.

Code First yaklaşımında, veri tabanı oluşturulmadan önce nesneler oluşturulur. Bu yöntemde, veri modelinin kodları yazılarak veri tabanı oluşturulur. Migration kavramı, Code First yaklaşımında veri modelinde yapılan değişikliklerin veri tabanına yansıtılmasını sağlar. Data Annotation ise, veri modelini yapılandırmak için kullanılan bir yöntemdir.

Database First yaklaşımında, var olan bir veri tabanı hedeflenir. Veri modeli, var olan veri tabanının yapısı kullanılarak oluşturulur. Veritabanı yöntemiyle veri modeli oluşturmak, daha az kod gerektirirken EDMX dosyası kullanımı daha çok kod gerektirir.

Veri katmanı tasarımı yaparken CRUD işlemlerinin (Create, Read, Update, Delete) yapılması gereklidir. Bu işlemleri yapmak için, Entity Framework'te bulunan DbContext sınıfının metotları kullanılır. Create işlemi veri tabanına yeni bir kayıt eklerken, Read işlemi mevcut kayıtları görüntüler. Update işlemi var olan kayıtların güncellenmesini, Delete işlemi ise kayıtların silinmesini sağlar.


Entity Framework Nedir?

Entity Framework, .NET Framework altında çalışan bir ORM (Object Relational Mapping) teknolojisidir. ORM, bir veritabanındaki tablolar ve bu tablolardaki ilişkileri nesnel kodlamayla yansıtmayı sağlar. Veritabanındaki tablolara, C# veya VB.Net gibi nesne tabanlı programlama dillerindeki sınıflar ile erişilmesine olanak tanır.

Entity Framework, daha önceki sürümlerinde bağımsız bir ürün iken sonraki sürümleri .NET Framework'ün bir parçası haline gelmiştir. ORM teknolojisi, veri tabanı işlemlerinde kodlama kolaylığı ve veri katmanı yönetiminde daha iyi bir kontrol sağlar.

Entity Framework, kodlanan sınıfların veritabanındaki tablolara ve diğer nesneler arasında doğrudan bir ilişki kurmasına olanak tanır. Bu özelliği, kodlama sürecini hızlandırır ve daha kolay bir yönetim sağlar. Ayrıca, Entity Framework ile veritabanı işlemleri sırasında SQL sorguları doğrudan yazılmak yerine, kod tarafında linq yapısı kullanılarak veritabanı sorguları oluşturulur. Bu, sorguların daha okunaklı ve anlaşılabilir hale gelmesini sağlar.

Entity Framework aynı zamanda birçok veritabanı yönetim sistemini destekleyen bir teknolojidir. Bu nedenle, başka bir veritabanı yönetim sistemine geçiş yapmak istendiğinde, varolan Entity Framework kodlarının çoğu hala kullanılabilir. Bu, yazılım geliştirme sürecinde önemli bir avantaj sağlar.


Veri Modeli Oluşturma

Entity Framework kullanarak veri katmanı tasarımı yapmak isteyenler için, öncelikle veri modelini oluşturmak gereklidir. Bunun için, Visual Studio'da proje oluşturma adımından sonra "Add New Item" seçeneği ile birlikte "ADO.NET Entity Data Model" seçeneği seçilmelidir. Bu seçenek ile birlikte, "EF Designer from database" seçeneği kullanılarak hazır veritabanı kullanılırken, "EF Designer from empty database" seçeneği ile yeni bir veritabanı oluşturulabilir. Bu adımda, veri modeli oluşturulurken kullanılacak veritabanı türü seçilmelidir.

Code first yaklaşımında ise, veri modelini oluşturmak için sınıflar kullanılır. Bu yaklaşımda, veritabanı oluşturulmadan önce sınıflar oluşturulur ve veri tabanı bu sınıfların üzerinde otomatik olarak oluşturulur. Veri modeli oluşturmak için gereken kod örnekleri ve adımları "Data Annotation" kullanarak yapabiliriz. "Data Annotation"lar sayesinde, sınıfların nitelikleri belirtilir ve bu nitelikler doğrultusunda veritabanı oluşturulur.

Ayrıca, "Database First" yaklaşımında veri modeli oluşturmak için veri tabanı yöntemi kullanılabilir. Bu yöntem sayesinde, var olan bir veritabanı kullanılarak veri modeli oluşturulabilir. Bunun yanı sıra, "EDMX" dosyası kullanarak da veri modeli oluşturmak mümkündür. Bu dosya, veritabanındaki tablolara bağlı olan sınıfları otomatik olarak oluşturur ve böylece hızlı bir şekilde veri modeli oluşturulabilir.


Code First Yaklaşımı

Code First yaklaşımı, Entity Framework kullanarak veri katmanı modelinin oluşturulmasını sağlar. Veri modeli kod içerisinde tanımlanır ve Entity Framework, bu kodları kullanarak otomatik olarak veritabanını oluşturur. Bu yaklaşımın en önemli avantajı, veritabanı tablolarını oluşturmak için SQL sorgularının yazılmasına gerek kalmamasıdır.

Code First Yaklaşımıyla veri modeli oluşturmak için, DbContext sınıfından miras alınan bir sınıf oluşturulur. Bu sınıfta DbSet özellikleri tanımlanarak, veritabanında oluşmasını istediğimiz tabloların adı ve özellikleri belirtilir. Bu adımlar tamamlandıktan sonra, Entity Framework Migration özelliği kullanılarak, veritabanı tabloları oluşturulur.

Adım Açıklama Örnek Kod
Adım 1 Veri modelini oluşturmak için DbContext sınıfından miras alınacak sınıf oluşturulur public class MyDbContext : DbContext
{
 public DbSet<Kullanici> Kullanicilar { get; set; }
 public DbSet<Urun> Urunler { get; set; }
}
Adım 2 Veri modelinde yer alacak sınıflar kod içerisinde oluşturulur public class Kullanici
{
 public int KullaniciId { get; set; }
 public string Adi { get; set; }
 public string Soyadi { get; set; }
}
public class Urun
{
 public int UrunId { get; set; }
 public string Adi { get; set; }
 public decimal Fiyat { get; set; }
}
Adım 3 Mirasa alınan DbContext sınıfı, Oluştur metodunu ezerek, veritabanına uygun hale getirilir public class MyDbContext : DbContext
{
 public DbSet<Kullanici> Kullanicilar { get; set; }
 public DbSet<Urun> Urunler { get; set; }

 protected override void OnModelCreating(DbModelBuilder modelBuilder)
 {
  base.OnModelCreating(modelBuilder);

  modelBuilder.Entity<Kullanici>()
   .ToTable("Kullanicilar")
   .HasKey(x => x.KullaniciId)
   .Property(x => x.Adi).HasMaxLength(50)
   .Property(x => x.Soyadi).HasMaxLength(50);

  modelBuilder.Entity<Urun>()
   .ToTable("Urunler")
   .HasKey(x => x.UrunId)
   .Property(x => x.Adi).HasMaxLength(100)
   .Property(x => x.Fiyat);
 }
Adım 4 Migration işlemi yapılır ve veritabanı oluşturulur Enable-Migrations
Add-Migration IlkMigration
Update-Database

Migration Kavramı

Migration Kavramı

Veri modelimizi oluşturduktan sonra, modelin güncellenmesi veya değiştirilmesi gerekebilir. Bu durumda, Migration kavramı devreye girer. Migration, Entity Framework'un veritabanındaki değişiklikleri takip etmesi ve uygulaması için kullanılan bir yöntemdir. Migration, veritabanlarının değiştirilmesi için gereken SQL betiklerini oluşturur ve veritabanını günceller.

Migration işlemleri Package Manager Console veya Add-Migration komutuyla gerçekleştirilebilir. Bu komutlar sayesinde Entity Framework, modelinizdeki değişiklikleri belirleyerek, veritabanı şemasını güncellemek için gerekli SQL betiklerini oluşturur.

Aşağıdaki örnek kod, Add-Migration komutuyla yeni bir migration oluşturma örneğidir:

Add-Migration MyNewMigration

Bu komut, yeni bir migration oluşturarak, modelinizdeki değişiklikleri veritabanınıza uygulamanızı sağlar.


Data Annotation Kullanımı

Data Annotations, Entity Framework'un veri modelinde herhangi bir sınıfa veya özelliğe özel davranışlar eklemek için kullanılan bir özelliktir. Bu özellik, sınıfları ve özellikleri ilişkili veri tabanı tabloları ile harmanlamak için kullanılabilir.

Bir örnekle açıklamak gerekirse, bir veri tabanında bir sütuna birincil anahtar ekleme isteğinde bulunabilirsiniz. Bu sütunu birincil anahtar olarak işaretlemek için, Data Annotation'ı kullanabilirsiniz. Aynı şekilde sütunu zorunlu hale getirmek için Required Data Annotation'ı kullanabilirsiniz.

Ayrıca, veri modelinin bir özelliğinin veri tabanında hangi sütunla eşleştiğini belirlemek için de kullanılabilir. Örneğin, [Column (Name = "LastName")] Data Annotation'ı, veri modelindeki bir özelliği veri tabanında "LastName" sütunuyla eşleştirecektir.

Data Annotation kullanımının diğer bir örneği, veri tabanındaki bir sütunun maksimum karakter sayısını belirlemek için kullanılabilir. Örneğin, [MaxLength (50)] Data Annotation'ı, veri modelindeki bir özelliği veri tabanındaki bir sütuna eşleştirdiğinde, bu sütunda en fazla 50 karakter kullanılmasını sağlayacaktır.

Aşağıda Data Annotation kullanımı için bir örnek kod verilmiştir:

```public class Customer{ [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int CustomerId { get; set; }

[Required] [StringLength(50)] public string FirstName { get; set; }

[Required] [StringLength(50)] public string LastName { get; set; }

[MaxLength(100)] public string Address { get; set; }}```

Yukarıdaki örnekte, Customer sınıfının CustomerId özelliği birincil anahtar olarak işaretlenirken, FirstName ve LastName özellikleri zorunlu ve maksimum 50 karakter olmalıdır. Address özelliği maksimum 100 karakter içerebilir.

Bu nedenle, Data Annotation kullanımı, Entity Framework veri modelinin gereksinimlerine göre özelleştirilmesinde çok önemli bir rol oynar. Veri tabanı tablolarına dayanan uygulamalar geliştirirken, Data Annotation kullanımı, veri modeli tasarımını oluşturma sürecinde oldukça yararlıdır ve bunun sonucunda daha tutarlı ve özelleştirilebilir veri modeli tasarımları ortaya çıkar.


Database First Yaklaşımı

Database First yaklaşımı bir veritabanı ile çalışmanın en yaygın yöntemlerinden biridir. Bu yaklaşım model, var olan bir veritabanına göre oluşturulur. Bu yöntemde entitiy modeli, veritabanındaki tablolar ve sütunlar tarafından oluşturulur.

Veri modelinin oluşturulması için veritabanı önce bağlanır ve ardından veritabanındaki nesneler Entity Framework ile ilişkilendirilir. Entity Data Model (EDM) oluşturmak için, bulunulan veritabanını önce görüntülemek gerekiyor. Daha sonra, EDM oluşturma sihirbazıyla otomatik dönüştürme yapılabilir.

Database First yaklaşımı, veritabanı yöneticileri için oldukça kullanışlı bir yöntemdir. Bu yöntemle veritabanı yapısındaki değişiklikler modelinde de otomatik olarak yansıtılabilir. Bunun için, veritabanında yapılacak değişikliklerden sonra entitiy modeli güncellenmelidir.


Veritabanı Yöntemi

Veritabanı Yöntemi Nedir?

Veritabanı yöntemi, Entity Framework kullanarak veri katmanı oluşturmanın bir yoludur. Bu yöntem, önceden var olan bir veritabanı şeması üzerine çalışır ve var olan şema ile Entity Framework arasında eşleştirme yapar.

Veritabanı Yöntemi ile Veri Modeli Oluşturma

Veritabanı yöntemiyle veri modeli oluşturmak için, Entity Framework önce veritabanınızın şemasını etüt eder ve buna göre uygun C# sınıflarını oluşturur. Veritabanınızda bir değişiklik yapmanız gerektiğinde, sınıfları manüel olarak yeniden oluşturmanız gerekmez. Bunun yerine, Entity Framework, C# sınıflarınızı değişikliklere göre otomatik olarak günceller. Bu işlemi gerçekleştirmek için öncelikle, Visual Studio'da Projede sağ tıklayıp "Add" seçeneği altında "New Item" seçeneğine tıklamanız gerekir. Ardından "ADO.NET Entity Data Model" seçeneğini seçerek, ekleme işlemini gerçekleştirebilirsiniz. Bu yöntem, özellikle var olan bir veritabanı şemasını bir projeye dahil etmek istediğinizde oldukça kullanışlıdır.

Örnek Kodlar

Kod Açıklama
using(var context = new DbContext()) Context sınıfını kullanarak veritabanı işlemleri gerçekleştirilir
var customers = context.Customers.ToList(); Customers tablosundaki tüm verileri bir liste olarak çeker
var customer = context.Customers.FirstOrDefault(c => c.CustomerID == id); Customers tablosundan, belirtilen ID'ye sahip müşteriyi seçer ve tek bir nesne olarak çeker

Sonuç

Veritabanı yöntemi, var olan bir veritabanı şemasını bir projeye dahil etmek istediğinizde oldukça kullanışlıdır. Entity Framework'ün sağladığı bu kolaylık sayesinde, veritabanı işlemleriniz hızlı ve kolay bir şekilde gerçekleştirilebilir.


EDMX Dosyası Kullanımı

EDMX dosyası, Entity Framework kullanarak veri modeli oluşturmak için kullanılan bir dosya türüdür. Bu dosya, veri tabanında yer alan tabloların ve ilişkilerin otomatik olarak çekilmesini sağlar. Veritabanı yöntemine benzer şekilde veri modeli tasarımı gerçekleştirilebilir. EDMX dosyası kullanarak veri modeli tasarımı yapmak için aşağıdaki adımlar takip edilebilir:

  • Visual Studio üzerinde "ADO.NET Entity Data Model" proje türü seçilir ve projeye yeni veri modeli eklenebilir.
  • Ardından, veri modelinde yer alacak olan tablolar seçilerek ve ilgili bağlantı sağlandıktan sonra özelliklerinden auto-generate seçeneği işaretlenerek, ilgili sınıf dosyalarının ve EDMX dosyasının otomatik olarak oluşturulması sağlanabilir.

Bu işlem sonucunda, veri modeli tasarımı EDMX dosyası yardımıyla gerçekleştirilebilir ve ilgili doküman oluşturulmuş olur. Ayrıca, veri tabanı üzerinde yapılacak olan değişikliklerin izlenebilmesi amaçlı migration işlemleri de gerçekleştirilebilir. Bu sayede değişiklikler, veri tabanında otomatik olarak yapılandırılabilir.

Örnek kodlara bakıldığında, aşağıdaki örnek kullanımlar veri modeli tasarımında EDMX dosyasının nasıl kullanılabileceğini göstermektedir:

ModelName.edmx ModelName.Designer.cs
<?xml version="1.0" encoding="utf-8"?><edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">    <edmx:Runtime>        <edmx:ConceptualModels>            ...        </edmx:ConceptualModels>        <edmx:StorageModels>            ...        </edmx:StorageModels>    </edmx:Runtime></edmx:Edmx>
public partial class ModelNameContainer :     ObjectContext{    public ModelNameContainer() :         base("name=ModelNameContainer", "ModelNameContainer")    {        this.ContextOptions.LazyLoadingEnabled = true;        OnContextCreated();    }    ...}

CRUD İşlemleri

Veri tabanı işlemleri konusunda en temel kavram CRUD işlemleridir. CRUD, Create, Read, Update ve Delete işlemlerinin oluşturduğu bir kavramdır. Entity Framework ile veritabanı işlemleri yaparken de CRUD işlemleri kullanılır.

Create işlemi, yeni bir kayıt ekleme işlemini ifade eder. Örneğin, bir ürün ekleneceği zaman, Create işlemi kullanılır. Yapılması gerekenler, ilk olarak veritabanı bağlantısı oluşturulur. Daha sonra ilgili tabloya ekleme işlemi gerçekleştirilir. Örnek olarak,

Kod Açıklama
using (var context = new MyContext()) Veritabanı bağlantısı oluştur
{
var product = new Product {Name = "Telefon", Price = 2000}; Ürün nesnesi oluştur ve değerlerini ata
context.Products.Add(product); İlgili tabloya ekleme işlemi yap
context.SaveChanges(); Yapılan değişiklikleri kaydet ve veritabanından çık

Read işlemi, verileri çekme işlemini ifade eder. Örneğin, bir ürün listesi çekmek istenildiğinde, Read işlemi kullanılır. Yapılması gerekenler, ilk olarak veritabanı bağlantısı oluşturulur. Daha sonra ilgili tablodan çekmek istenilen veriler filtrelenir ve liste halinde döndürülür. Örnek olarak,

Kod Açıklama
using (var context = new MyContext()) Veritabanı bağlantısı oluştur
{
var productList = context.Products.Where(p => p.Price > 1000).ToList(); Filtreleme işlemi yap, istenen verileri liste halinde döndür
return productList;

Update işlemi, mevcut verilerin güncelleme işlemini ifade eder. Örneğin, bir ürün fiyatı güncellemesi yapmak istenildiğinde, Update işlemi kullanılır. Yapılması gerekenler, ilk olarak veritabanı bağlantısı oluşturulur. Daha sonra ilgili tablodan güncelleme yapılacak veriler filtrelenerek, güncelleme işlemi gerçekleştirilir. Örnek olarak,

Kod Açıklama
using (var context = new MyContext()) Veritabanı bağlantısı oluştur
{
var product = context.Products.FirstOrDefault(p => p.Id == 1); Güncellenecek ürünü filtrele
if (product != null) Eğer ürün varsa, güncelleme işlemi yap
{
product.Price = 3000; Yeni fiyatı ata
context.SaveChanges(); Yapılan değişiklikleri kaydet ve çık
}
}

Delete işlemi, mevcut verilerin silme işlemini ifade eder. Örneğin, bir ürün silme işlemi yapmak istenildiğinde, Delete işlemi kullanılır. Yapılması gerekenler, ilk olarak veritabanı bağlantısı oluşturulur. Daha sonra ilgili tablodan silme işlemi gerçekleştirilir. Örnek olarak,

Kod Açıklama
using (var context = new MyContext()) Veritabanı bağlantısı oluştur
{
var product = context.Products.FirstOrDefault(p => p.Id == 1); Ürünü filtrele
if (product != null) Eğer ürün varsa, silme işlemi yap
{
context.Products.Remove(product); Silme işlemini gerçekleştir
context.SaveChanges(); Yapılan değişiklikleri kaydet ve çık
}
}

Create İşlemi

Create işlemi, veri katmanında yeni kayıt oluşturmak için kullanılan bir işlemdir. Bu işlem için ilk olarak veri modelinde ilgili tablonun bir nesnesinin oluşturulması gerekmektedir. Ardından, oluşturulan nesne üzerinden gerekli alanlara veri atanarak yeni kayıt oluşturulabilir.

Örnek olarak, bir "Person" tablosu için yeni bir kayıt oluşturma işlemini ele alalım. İlk olarak, "Person" nesnesi oluşturulur:

    Person newPerson = new Person();

Ardından, "newPerson" nesnesindeki gerekli alanlara veriler atanır. Örneğin, "Name" ve "Age" alanlarına veri atamak için şu kod kullanılabilir:

    newPerson.Name = "John Doe";newPerson.Age = 30;

Son olarak, oluşturulan "newPerson" nesnesi kaydedilerek veri tabanına yeni bir kayıt eklenebilir:

    using (var context = new MyDbContext()){    context.Persons.Add(newPerson);    context.SaveChanges();}

Yukarıdaki örnek kodda "MyDbContext", veri tabanı bağlantısını sağlayan sınıfın adını temsil etmektedir. Bu sınıfın adı projeye göre değişebilir.

"Create" işlemi için başka bir yöntem de "Add" metodu kullanarak yeni bir kayıt eklemektir. Bu yöntemle, nesne oluşturma ve kaydetme işlemleri tek seferde yapılabilir. Aşağıdaki kod örneği bu yöntemi kullanarak yeni bir "Person" kaydı eklemektedir:

    using (var context = new MyDbContext()){    var newPerson = new Person()    {        Name = "Jane Doe",        Age = 25    };    context.Persons.Add(newPerson);    context.SaveChanges();}

Yukarıdaki örnek kodda, "using" bloğu ile veri tabanı bağlantısı oluşturulmuş ve "newPerson" nesnesi tek seferde oluşturulmuştur. "Add" metodu ile nesne veri tabanına eklendikten sonra "SaveChanges" metodu çağrılarak değişiklikler kaydedilir.


Read İşlemi

Read işlemi, veri katmanında veri okuma işlemidir. Entity Framework kullanarak veri okuma işlemi yapmak oldukça basit ve hızlıdır.

Veri okuma işlemi için DbContext sınıfındaki DbSet sınıfı kullanılır. DbSet sınıfı, veritabanındaki bir tabloya karşılık gelir ve o tablodaki kayıtları listeler. Veri okuma işlemi yapmak için DbSet sınıfına LINQ sorgusu gönderilir ve sonuçlar alınır.

Örnek olarak, önceden oluşturulan bir veritabanındaki "Müşteriler" tablosundan tüm kayıtları okuma işlemi aşağıdaki gibi yapılabilir:

Kod Açıklama
using (var context = new MyDatabaseContext()) 
{
var customers = context.Musteriler.ToList();
}
Veri okuma işlemi için DbContext sınıfından bir nesne oluşturulur ve "Müşteriler" tablosuna erişmek için DbSet sınıfı kullanılır. Veriler, ToList() metodu ile alınır.

Bu örnekte, MyDatabaseContext sınıfı DbContext sınıfından türetilir ve veritabanına bağlanır. Musteriler DbSet sınıfının bir örneğidir ve veritabanındaki "Müşteriler" tablosuna karşılık gelir. ToList() metodu, tablodaki tüm kayıtları getirir ve customers değişkenine atar.

Bu şekilde, Entity Framework kullanarak veri okuma işlemi yapabilirsiniz. Veri okuma işleminde veritabanındaki verileri değiştirmek veya silmek gibi bir işlem yapılmadığından, işlem son derece hızlıdır.


Update İşlemi

Update işlemi, bir veri kaydının güncellenmesini sağlar. Bu işlemin yapılabilmesi için öncelikle hangi kaydın güncelleneceği belirtilmelidir. Ardından, güncellenecek alanların yeni değerleri belirlenir ve veritabanına bu değerlerin kaydedilmesi sağlanır.

Bu işlem, Entity Framework ile oldukça basittir. Öncelikle, güncellenecek kaydın önceden veri modeli sınıfına yansıtılmış olması gerekir. Daha sonra, yine Entity Framework tarafından sunulan bir yöntem olan context.SaveChanges() kullanılarak veritabanıyla senkronize edilir.

Örnek olarak, aşağıdaki kodda Product adlı veri modeli sınıfının bir kaydının fiyat bilgisinin güncellenmesi işlemi gösterilmektedir:

Ürün Adı Fiyatı Mevcut Stok
Kalem 2.50 100
Defter 5.00 50

Bu örnekte, Kalem adlı ürünün fiyatı 2.50’den 3.00’e güncellenmek istenmektedir. Bunun için öncelikle veritabanından Product sınıfına tanımlı olan Kalem nesnesi alınır. Daha sonra fiyat bilgisi güncellenir ve context.SaveChanges() çağrısı yapılarak işlem veritabanına kaydedilir. Örnek kod aşağıda verilmiştir:

using (var context = new MyContext()){   var product = context.Products.Where(p => p.ProductName == "Kalem").FirstOrDefault();  product.Price = 3.00;  context.SaveChanges();}

Delete İşlemi

Entity Framework'te, veri katmanından kayıt silmek için Delete işlemi kullanılır. Bu işlem, veritabanında mevcut olan bir kaydın veri modelinden silinmesini sağlar.

Bu işlemi gerçekleştirmek için, öncelikle kaydın bulunması gerekir. Bu, Entity Framework API'si kullanılarak yapılır. Ardından, Remove () metodu ile kayıt silinir. Bu değişikliği veritabanına kaydetmek için SaveChanges () işlevi kullanılabilir.

Aşağıda, Delete işleminin nasıl yapılacağına dair basit bir kod örneği verilmiştir:

Kod Örneği
        using (var context = new SampleEntities())        {            var record = context.SampleTable.Find(id);            if(record!=null)            {              context.SampleTable.Remove(record);              context.SaveChanges();              Console.WriteLine("Kayıt Silindi.");            }            else            {              Console.WriteLine("Kayıt bulunamadı.");            }        }      

Bu kod örneğinde, SampleEntities sınıfı veritabanı bağlantısını temsil eder. SampleTable ise silme işleminin gerçekleştirileceği tablo adını temsil eder.

Delete işleminin gerçekleştirilmesi sırasında, kaydın mevcut olduğunu doğrulamak için Find () metodu kullanılır. Ardından, Remove () metoduyla kayıt silinir ve SaveChanges () metodunu kullanarak değişiklikler veritabanına kaydedilir.

Bu şekilde, Entity Framework kullanarak veri katmanında güvenli ve doğru bir silme işlemi gerçekleştirebilirsiniz.