C# LINQ ile Veritabanı İşlemleri Nasıl Yapılır?

C# LINQ ile Veritabanı İşlemleri Nasıl Yapılır?

C# LINQ ile veritabanı işlemlerini öğrenmek için doğru yerdesiniz! Bu makalede, LINQ kullanarak veri okuma, ekleme, güncelleme ve silme işlemlerini adım adım öğrenin Kolay anlaşılır örneklerle kodlarınızı optimize edin ve veritabanı işlemlerinizdeki verimliliği artırın Hadi başlayalım!

C# LINQ ile Veritabanı İşlemleri Nasıl Yapılır?

Merhaba, bu makalede C# LINQ kullanarak veritabanı işlemlerinin nasıl yapılacağına dair adımları ele alacağız. LINQ, .NET platformunda kullanılan bir teknolojidir ve verileri daha hızlı ve verimli bir şekilde işlemenize imkan tanır. LINQ ile veritabanı işlemleri yapmak oldukça kolaydır ve C# ile entegre olması nedeniyle C# ile veritabanı bağlantısı kurmak çok daha kolaydır.

Öncelikle, veritabanına bağlanmak için gerekli kodları C# örneği ile öğreneceğiz. Daha sonra, LINQ sorguları kullanarak verileri nasıl okuyacağımızı ve manipüle edeceğimizi anlatacağız. İleri sorgular ile verilerimizi daha ayrıntılı inceleyeceğiz. LINQ sorgularını kullanarak veritabanına veri ekleme, güncelleme ve silme işlemlerini de öğreneceğiz.

  • Veritabanına Bağlantı Kurma: Veritabanına bağlanmak için öncelikle connection string hazırlamalısınız. Connection string, veritabanı sunucusu, veritabanı adı, kullanıcı adı ve şifresi gibi bilgileri içerir. Ardından, SqlConnection sınıfını kullanarak bağlantıyı oluşturabilirsiniz.
  • LINQ Kullanarak Veri Okuma: LINQ sorguları kullanarak verileri okumak oldukça kolaydır. Basit sorgular kullanarak verileri filtreleyebilir veya sıralayabilirsiniz. İleri sorgular ile işlemleri daha detaylı yapabilirsiniz.
  • LINQ Kullanarak Veri Ekleme veya Güncelleme: LINQ sorgularını kullanarak verileri veritabanına ekleme veya güncelleme oldukça kolaydır. Öncelikle, DataContext sınıfını kullanarak bağlantıyı açabilirsiniz. Ardından, InsertOnSubmit veya UpdateOnSubmit sorgularını kullanarak verileri ekleme veya güncelleme işlemini gerçekleştirebilirsiniz.
  • LINQ Kullanarak Veri Silme: LINQ sorgularını kullanarak verileri veritabanından silme oldukça kolaydır. Belirli bir kriteri sağlayan kayıtları nasıl sileceğinizi öğreneceksiniz.

Bu makalede, C# LINQ kullanarak veritabanı işlemlerini adım adım öğrenmiş oldunuz. LINQ, verileri daha hızlı ve verimli bir şekilde işlemenize imkan tanırken, C# ile entegre olması nedeniyle veritabanı işlemlerini yapmak oldukça kolay hale gelir. Daha fazla bilgi için kaynakları inceleyebilirsiniz.


Veritabanı Bağlantısı Kurma

Veritabanı bağlantısı kurmak, herhangi bir veritabanı işlemi için ilk adımdır. C# LINQ kullanarak veritabanı bağlantısı kurmayı öğrenmek oldukça basittir. İlk yapmanız gereken, veritabanınıza bağlanacak olan veritabanı sağlayıcısını belirlemektir. Bunun için kullanacağınız sistem, bağlanacağınız veritabanının türüne bağlıdır. Ayrıca, bağlantı için kullanacağınız kullanıcı adı ve şifreyi de belirlemelisiniz.

Veritabanı bağlantısı kurmak için, SqlConnection sınıfını kullanabilirsiniz. SqlConnection sınıfı, .NET Framework'te yerleşik olan bir sınıftır ve SQL Server veritabanı sağlayıcısını kullanır. Aşağıdaki örnek, SqlConnection nesnesi oluşturarak veritabanına bağlanmayı göstermektedir:

Parametre Adı Açıklama
server Veritabanı sunucusunun adı veya adresi.
database Bağlanılacak veritabanının adı.
UID Veritabanına bağlanmak için kullanılacak kullanıcı adı.
PWD Veritabanına bağlanmak için kullanılacak şifre.
  • string connectionString = "Data Source=server;Initial Catalog=database;User ID=UID;Password=PWD";
  • SqlConnection cnn = new SqlConnection(connectionString);

Bağlantı açıldıktan sonra, veritabanına sorgu gönderebilirsiniz. Sağlıklı bir kod yazmak için, SqlConnection nesnesi kullanıldıktan sonra ConnectionState özelliğinin Closed olduğundan emin olmalısınız. Aşağıdaki örnekte, Open() yöntemi kullanılarak SqlConnection nesnesi oluşturulmuş ve bağlantı açılmıştır:

  • if (cnn.State == ConnectionState.Closed)
  • {
  • cnn.Open();
  • }

Veritabanı bağlantısı kurmak, C# LINQ kullanarak veritabanı işlemleri yapmanın ilk adımıdır. Bağlantı kurulduktan sonra, veritabanınızda sorgular göndererek veri okuyabilir, ekleme veya güncelleme işlemleri yapabilir ve hatta veri silebilirsiniz. Daha karmaşık işlemleri gerçekleştirebilmek için, LINQ sorgularının ileri özelliklerini kullanmanız gerekebilir.


LINQ Kullanarak Veri Okuma

C# LINQ kullanarak veritabanı işlemleri oldukça kolay bir hale gelmektedir. Veri okuma işlemleri de LINQ sorgularını kullanarak kolay bir şekilde yapılabilmektedir. LINQ sorguları, SQL sorgularına benzer bir yapıya sahiptir ve tüm veri işlemlerinin yapılabilmesine olanak sağlar.

LINQ sorgularını kullanarak verileri okumak, oldukça kolay bir işlemdir. Bu işlemi gerçekleştirmek için dbDataContext adında bir nesne oluşturmak ve bu nesne üzerinden LINQ sorgularını çalıştırmak gerekmektedir. Örneğin, bir veritabanındaki tüm kayıtları okumak için dbDataContext nesnesinden bir LINQ sorgusu oluşturabilirsiniz.

Ad Soyad Yaş
Ali Yılmaz 25
Ayşe Demir 30
Mehmet Özkan 27

Bu tabloda yer alan verileri okumak için LINQ sorguları kullanabilirsiniz. Örneğin, yaşı 25 olan kişinin adını ve soyadını okumak isterseniz, aşağıdaki gibi bir sorgu yazabilirsiniz.

var query = from p in dbDataContext.PersonelTablosu            where p.Yas == 25            select new { p.Ad, p.Soyad };

Bu sorgu, PersonelTablosu adlı veritabanındaki tüm kayıtları okuyacak ve yaş alanı 25 olan kayıtların sadece ad ve soyad alanlarını ekrana yazdıracaktır.

Bir diğer kullanım alanı ise verileri filtrelemektir. Örneğin, yalnızca Ad alanı Ali olan kayıtları çekmek isterseniz aşağıdaki gibi bir sorgu yazabilirsiniz.

var query = from p in dbDataContext.PersonelTablosu            where p.Ad == "Ali"            select p;

Bu sorgu, PersonelTablosu adlı veritabanındaki tüm kayıtları okuyacak ve sadece Ad alanı Ali olan kayıtları ekrana yazdıracaktır.


Basit Sorgular

C# LINQ kullanarak veritabanı işlemleri yapmak için en temel adımlardan biri verileri filtreleyip veya sıralamak olacaktır. Bu işlem için LINQ sorguları kullanılabilir. Basit sorgular kullanarak, sadece veriler içinden istediğiniz kriterlere uyan verileri seçebilir veya verileri sıralayabilirsiniz.

Örneğin, bir öğrenci tablosundan tüm öğrencilerin ad ve soyadlarını alfabetik sıraya göre listelemek istediğinizi düşünelim. Bu durumda "orderby" ifadesi kullanılarak veriler sıralanabilir.

Aşağıdaki C# kod bloğunda öğrenci tablosundaki tüm öğrenci kayıtları ad ve soyadlarına göre sıralanmaktadır.

``` csharpvar ogrenciler = from o in db.Ogrenci orderby o.Ad, o.Soyad select o;```

Ayrıca "where" ifadesi kullanarak istediğimiz kriterlere göre filtreleme işlemleri de yapabiliriz. Örneğin, bir öğrenci tablosundan sadece belli bir sınıfta olan öğrencileri listelemek istersek şu şekilde bir kod bloğu kullanabiliriz:

``` csharpvar ogrenciler = from o in db.Ogrenci where o.Sinif == "10/A" select o;```

Basit sorgular kullanarak kolaylıkla veri filtreleme ve sıralama işlemleri yapabilirsiniz. Tabii ki, daha karmaşık sorgular için LINQ'in ileri özelliklerini kullanmanız gerekebilir.


Basit Sorgu Örneği

Veritabanı işlemlerinde en sık kullanılan sorgulardan biri "SELECT" sorgusu olduğu bilinir. Basit bir sorgu örneği ile bu anlaşılır hale getirilebilir.

Başlangıçta veritabanına bağlanmanız gerekmektedir. Ardından, "SELECT" sorgusunu yazarak verileri filtreleyebilirsiniz. Örneğin, bir çalışan veritabanında tüm çalışanların adını, soyadını ve yaşını almak istiyorsanız, şu sorguyu kullanabilirsiniz:

Sütun Adı Türü
Ad Karakter Dizisi
Soyad Karakter Dizisi
Yaş Tam Sayı
  • SELECT Ad, Soyad, Yaş FROM Çalışanlar;

Bu sorgu, "Çalışanlar" tablosundaki her satırın "Ad", "Soyad" ve "Yaş" sütunlarındaki verilerini döndürecektir. Bu sorgu sonucunda, tablodaki tüm çalışanlar ve onların adı, soyadı ve yaşları listelenecektir.

Bu sorgunun yanı sıra daha karmaşık sorgular da oluşturabilirsiniz. LINQ sorguları ile birleştirerek daha fazla veri işleyebilir, sıralayabilir ve filtreleyebilirsiniz. Bunun için LINQ belgelerine göz atmanız yeterli olacaktır.


Filtreleme Sorgusu

LINQ kullanarak verileri filtrelemek oldukça kolaydır. Verileri belirli bir kritere göre filtrelemek için ise "where" anahtar kelimesini kullanmanız yeterlidir. "where" kelimesinden sonra koşullarınızı yazabilirsiniz.

Örneğin, bir veritabanındaki öğrencilerin notları ile ilgili bir tablonuz varsa ve 80'den büyük olan notları filtrelemek istiyorsanız, aşağıdaki kodu kullanabilirsiniz:

Örnek Kod
using (var context = new SchoolContext()){    var filteredStudents = from s in context.Students						   where s.Grade > 80						   select s;}

Bu kod, "SchoolContext" adlı bir sınıfı kullanarak "Students" adlı bir veritabanı tablosundaki öğrencileri seçer. Ardından "where" kelimesi ile öğrencilerin notlarından sadece 80'den büyük olanları seçer.

Aynı şekilde, "where" kelimesi ile birlikte "and" veya "or" ifadesi kullanarak birden fazla koşul da ekleyebilirsiniz. Örneğin, öğrencilerin notları 80'den büyük VE sınıfları 11. sınıf olanları filtrelemek istiyorsanız, aşağıdaki kodu kullanabilirsiniz:

Örnek Kod
using (var context = new SchoolContext()){    var filteredStudents = from s in context.Students						   where s.Grade > 80 && s.Class == 11						   select s;}

Bu kod, öğrencilerin notlarının 80'den büyük olduğu VE sınıflarının 11. sınıf olduğu öğrencileri seçer.

Filtreleme sorguları, verileri belirli bir kritere göre kolayca filtrelemek için kullanılır. Birden fazla koşulu aynı anda kullanmak da mümkündür. LINQ'in bu özelliği sayesinde verileri hızla sıralayabilir ve istediğiniz sonuçları elde edebilirsiniz.


İleri Sorgular

C# LINQ, basit sorgular dışında ileri sorgular oluşturmaya da izin verir. Bu özellik sayesinde, daha karmaşık veritabanı işlemleri gerçekleştirebilirsiniz. İleri sorguların kullanımı oldukça kolaydır ancak bu sorguların oluşturulması basit sorgulara göre biraz daha zordur.

Bu özellik, verileri gruplama, birleştirme, sıralama, ortalamalar gibi daha detaylı bir şekilde filtreleme, analiz etme ve sunma imkanı sağlar. Bu sayede, veritabanı işlemlerinizde daha ayrıntılı sonuçlar elde edebilirsiniz.

Örneğin; birden fazla tablodan veri almak istediğinizde, LINQ birleştirme sorgularını kullanarak bu işlemi kolayca gerçekleştirebilirsiniz. Ayrıca, LINQ kullanarak birden fazla ortalamayı, toplamı veya sayısı da elde edebilirsiniz. LINQ sorgularını kullanarak, henüz keşfedilmemiş verileri filtreleyebilir ve gelecekteki hedeflerinizi belirlemek için de bir fikir edinebilirsiniz.

Bu özellikleri kullanarak, sorgularınızı daha gelişmiş hale getirebilir ve daha iyi sonuçlar elde edebilirsiniz.


Gruplama ve Ortalama Kullanarak İleri Sorgular

LINQ kullanarak veritabanında yapabilecekleriniz sadece filtreleme ya da sıralama ile sınırlı değil. Daha ayrıntılı bilgiler elde etmek isterseniz, gruplama ve ortalama alma işlemlerini kullanabilirsiniz.

Gruplama, benzer verileri belirli bir kritere göre gruplandırmanızı sağlar. Örneğin, veritabanınızda müşteriler tablonuz varsa ve müşterilerin şehir bilgisine de sahipseniz, müşterileri şehirlerine göre gruplayabilirsiniz. Bu işlem sayesinde her şehir için kaç müşteri olduğunu kolaylıkla görebilirsiniz.

Ortalama alma işlemi ise, belirli bir sütundaki değerlerin ortalamalarını almaya yarar. Örneğin, bir ürün tablonuz varsa ve ürünlerin fiyat bilgisine de sahipseniz, ürünlerin fiyatlarının ortalamasını alarak ortalama bir fiyat belirleyebilirsiniz.

Müşteri Şehri Müşteri Sayısı
Ankara 15
İstanbul 30
İzmir 20

Yukarıdaki tabloda müşterilerin şehir bilgilerine göre gruplandırılmış bir örnek yer almaktadır. Ayrıca, fiyat bilgisi üzerinde yapılan bir ortalama işlemi sonucu oluşan bilgiler aşağıdaki gibidir:

  • Ürün Fiyatlarının Ortalaması: 50 TL

Bu örnekler sayesinde, LINQ sorgularının sadece basit filtreleme ya da sıralama işlemleri için değil, daha ayrıntılı veriler elde etmek için de kullanılabileceği anlaşılmaktadır.


Birleştirme Sorgusu

Birleştirme Sorgusu, birden fazla tablodan veri almak istediğiniz durumlarda kullanılan bir LINQ sorgusu çeşididir. Bu sorgu, özellikle karmaşık verilerin birleştirilmesi gerektiği durumlarda oldukça faydalıdır.

Birleştirme yapmak için, öncelikle hangi tabloların birleştirileceğini belirlemeli ve bu tablolar arasındaki ilişkiyi tanımlamalısınız. Bu ilişki, iki tablo arasındaki ortak bir alan veya birden fazla alanın birleşimi olabilir.

Birleştirme sorgusu, INNER JOIN, LEFT JOIN, RIGHT JOIN ve FULL JOIN gibi birçok çeşide sahiptir. INNER JOIN, iki tablodan yalnızca eşleşen kayıtları getirirken, LEFT JOIN her kaydı getirir, ancak eşleşen kaydı yoksa null değeri döndürür. RIGHT JOIN, LEFT JOIN ile tam olarak tersidir ve RIGHT JOIN sorgusunda null değerleri sağ taraftaki tabloda görebilirsiniz. FULL JOIN, iki tablodan tüm kayıtları birleştirebilirsiniz.

Joint türü Açıklama
INNER JOIN İki tablodan yalnızca eşleşen kayıtları getirir.
LEFT JOIN Her kaydı getirir, ancak eşleşen kayıt yoksa null değeri döndürür.
RIGHT JOIN LEFT JOIN ile tam olarak tersidir ve RIGHT JOIN sorgusunda null değerleri sağ taraftaki tabloda görebilirsiniz.
FULL JOIN İki tablodan tüm kayıtları birleştirebilirsiniz.

Birleştirme sorgusu ile birleştirilen tablolardan gelen verileri işlemek oldukça kolaydır. Her tablodan gelen veriler ayrı birer nesne olarak işaretlenebilir. Yani birleştirme sorgusu sonucu gelen verilere LINQ sorguları aracılığıyla erişebilirsiniz.

Birleştirme sorgusu, veritabanındaki iki veya daha fazla tabloyu birleştirmek için oldukça faydalı bir LINQ sorgu türüdür. Birden fazla tablodan veri almak istediğiniz herhangi bir durumda, bu sorguyu kullanarak karmaşık veriler elde edebilirsiniz.


LINQ Kullanarak Veri Ekleme veya Güncelleme

LINQ kullanarak veritabanı işlemleri yapmak oldukça kolaydır. Hem veri eklemek hem de güncellemek için benzer bir yaklaşım kullanılır. Veri eklemek için, öncelikle nesne oluşturulur ve ardından bu nesne veritabanına eklenir. Örneğin, aşağıdaki kod örneği bir öğrencinin veritabanına eklenmesini sağlar:

Öğrenci Adı Öğrenci Soyadı Öğrenci Numarası
Ahmet Yılmaz 123

Bu kod örneğinde, "Öğrenci" adlı bir nesne oluşturduk ve bu nesneyi veritabanındaki öğrenci tablosuna ekledik. Bu kod örneği, yeni öğrenci eklemenin temel bir örneğidir.

Veri güncellemek için, öncelikle güncellemek istediğiniz nesnenin belirtilmesi gerekiyor. Ardından, bu nesnenin özelliklerine yeni değerler atayarak veritabanında güncelleme yapabilirsiniz. Örneğin, aşağıdaki örnek öğrenci adını ve numarasını güncelliyor:

Öğrenci Adı Öğrenci Soyadı Öğrenci Numarası
Mehmet Demir 345

Bu kod örneğinde, "Öğrenci" adlı bir nesne oluşturduk ve bu nesneyi veritabanındaki öğrenci tablosunda güncelledik. Bu kod örneği, var olan bir öğrencinin özelliklerinde güncelleme yapmak için basit bir örnektir.

Sonuç olarak, LINQ kullanarak veri ekleme ve güncelleme işlemleri oldukça kolaydır. Veri ekleme ve güncelleme işlemleri temelde aynıdır. Veri güncelleme işlemi, güncellenmek istenen nesneyi belirleyip, özelliklerine yeni değerler atayarak yapılır. Bu basit adımları takip ederek, LINQ ile veritabanındaki verileri kolayca güncelleyebilirsiniz.


Veri Ekleme Kodu

Bir veri tabanına yeni bir kayıt eklemek için LINQ kullanmak oldukça kolaydır. İlk olarak, yeni bir nesne oluşturmak ve sonra bu nesneyi veri tabanına eklemek gerekiyor. Bu işlem aşağıdaki kod bloğu ile gerçekleştirilebilir:

```using (VeritabaniBaglantisi db = new VeritabaniBaglantisi()){ // Yeni nesne oluşturma Ogrenci yeniOgrenci = new Ogrenci { Adi = "Ali", Soyadi = "Yılmaz", Yas = 20, OgrenciNo = "12345" };

// Yeni nesne veri tabanına eklendi. db.Ogrenciler.Add(yeniOgrenci); db.SaveChanges();}```

Yukarıdaki örnekte, `VeritabaniBaglantisi` sınıfı, veri tabanı işlemlerini gerçekleştirmek için gerekli olan bağlantıyı temsil ediyor. `Ogrenci` sınıfı, veri tabanındaki tabloya karşılık gelen bir sınıftır. Yeni bir öğrenci eklemek için, önce yeni bir nesne oluşturulur ve sonra bu nesne `Ogrenciler` tablosuna eklenir. `SaveChanges()` yöntemi, veri tabanındaki değişiklikleri kaydeder.

Eğer birden fazla öğrenci eklemek istiyorsanız, bu işlemi bir döngü kullanarak yapabilirsiniz. Örneğin:

```using (VeritabaniBaglantisi db = new VeritabaniBaglantisi()){ foreach (var ogrenci in ogrenciListesi) { Ogrenci yeniOgrenci = new Ogrenci { Adi = ogrenci.Adi, Soyadi = ogrenci.Soyadi, Yas = ogrenci.Yas, OgrenciNo = ogrenci.OgrenciNo };

db.Ogrenciler.Add(yeniOgrenci); }

db.SaveChanges();}```

Yukarıdaki kod örneği, `ogrenciListesi` adlı bir liste içindeki tüm öğrencileri veri tabanına ekleyecektir. Her öğrenci nesnesi, `Ogrenci` sınıfından oluşturulan bir nesne olarak eklenecektir. `SaveChanges()` yöntemi ise, tüm öğrencilerin veri tabanına kaydedilmesini sağlayacaktır.

Sonuç olarak, LINQ kullanarak yeni bir kayıt eklemek oldukça kolaydır ve yukarıdaki örneklerde verildiği gibi birkaç kod satırıyla gerçekleştirilebilir. Veri tabanı işlemleri için LINQ'yu kullanmak, kodu daha okunaklı ve açıklayıcı hale getirir.


Veri Güncelleme Kodu

Veritabanındaki mevcut kayıtları güncellemek için LINQ kullanmak oldukça kolaydır. Öncelikle güncellenecek olan veriye erişmek gerekiyor. Ardından LINQ sorgusu kullanarak yeni verileri güncelleyeceğimiz kayda atama yapabiliriz.

Örneğin, bir öğrenci veritabanında bulunan bir kaydı güncellemek istediğimizi varsayalım. Öncelikle, güncellenecek öğrencinin ID'sine erişmemiz gerekiyor. Bunun için şu kodu kullanabiliriz:

Kod Açıklama
int id = 1; // Güncellenecek öğrencinin ID'si

Bu kodda, güncellenecek öğrencinin ID'si 1 olarak kabul ediliyor. Tabi ki, gerçek uygulamalarda bu değer değişken olup veritabanından çekilebilir.

Sonrasında, LINQ sorgusu kullanarak güncelleme işlemini yapabiliriz. Şu kodu kullanarak güncelleme yapabiliriz:

Kod Açıklama
using (var context = new SchoolContext()) // Veritabanı bağlantısı açılıyor
{
    // Güncellenecek öğrencinin ID'sine göre öğrenci nesnesi çağırılıyor
    var student = context.Students.Where(s => s.ID == id).FirstOrDefault();
    // Öğrenci nesnesinin özellikleri değiştiriliyor
    student.Name = "John";
    student.Age = 25;
    // Değiştirilen özellikler veritabanına kaydediliyor
    context.SaveChanges();
} // Veritabanı bağlantısı kapatılıyor

Bu kodda, güncellenecek öğrencinin ID'sine göre öğrenci nesnesi çağırılıyor. Daha sonra, özellikleri değiştirilerek veritabanına kaydediliyor.

Bu şekilde, LINQ sorgularını kullanarak veritabanındaki kayıtları güncelleyebilirsiniz.


LINQ Kullanarak Veri Silme

Veritabanından veri silmek, uygulama geliştirme sürecinde oldukça önemlidir. LINQ kullanarak veri silmek oldukça kolaydır ve veritabanındaki kayıtlarınızı hızlı bir şekilde silmenize olanak tanır.

LINQ kullanarak veri silmek için, öncelikle hangi tablodan (yani hangi sınıfın içindeki nesnelerden) veri silmek istediğinizi belirlemeniz gerekiyor. Belirlediğiniz tabloya bir erişim yaparak, sorgulama işlemini gerçekleştirebilirsiniz.

LINQ sorgusu ile veri silmek için genellikle Where() ve DeleteOnSubmit() metotları kullanılır. Where() metodu, belirli bir koşulu sağlayan verileri seçmeye yardımcı olurken, DeleteOnSubmit() metodu seçilen tüm kayıtları siler.

Örneğin, aşağıdaki kod örneğinde, Northwind veritabanındaki Orders tablosundan belirli bir kritere göre siparişleri sileceğiz:

var db = new NorthwindDataContext();var orders = db.Orders.Where(o => o.ShippedDate == null);foreach (var order in orders){    db.Orders.DeleteOnSubmit(order);}db.SubmitChanges();

Yukarıdaki kod bloğunda, NorthwindDataContext() sınıfı veritabanı bağlantısını temsil ederken, Where() metodu, ShippedDate sütunu null olan tüm siparişleri seçiyor. Ardından, DeleteOnSubmit() metodu seçilen tüm siparişleri siliyor ve SubmitChanges() metodu değişiklikleri veritabanına kaydediyor.

Basit bir LINQ sorgusu kullanarak, belirli bir kritere göre veri silmek oldukça kolaydır. Ancak, daha karmaşık sorgular için birleştirme, gruplama ve diğer ileri özellikler kullanılabilir. Bu özellikler, verileri daha spesifik bir şekilde filtrelemek ve manipüle etmek için kullanılabilir.


Veri Silme Kodu

Veritabanından belirli kriterleri sağlayan kayıtların silinmesi, C# LINQ kullanarak oldukça kolay bir işlemdir. Veritabanına bağlantı kurduktan sonra, bu işlemi gerçekleştirmek için Where() metodu kullanılır. Bu metot, belirli bir koşulu sağlayan kayıtları seçer ve bunları Delete() metodu ile veritabanından siler. İşte kod parçası:

using System.Linq;// Veri Silme Kodlarıvar silinecekKayitlar = from kayit in veritabani.Table                        where kayit.KriteriSaglayanAlan == "Silinecek Veri"                        select kayit;foreach (var silinecekKayit in silinecekKayitlar){    veritabani.DeleteOnSubmit(silinecekKayit);}veritabani.SubmitChanges();

Bu kod bloğunda, veritabani.Table kullanılarak belirli bir tabloya erişilir ve where ifadesi kullanılarak silinmesi gereken kayıtlar seçilir. Bu örnekte, "KriteriSaglayanAlan" adı verilen bir alanın, "Silinecek Veri" değerini içeren kayıtlar seçilir. Daha sonra, seçilen kayıtlar foreach döngüsü ile taranır ve DeleteOnSubmit() metodu ile veritabanından silinir.

Son olarak, SubmitChanges() metodu ile değişiklikler veritabanına uygulanır ve işlem tamamlanır.

Bu kod örneği, çok daha karmaşık koşullar için de uyarlanabilir ve silme işlemi oldukça hızlı bir şekilde gerçekleştirilebilir. Ancak, verilerin silinmesi noktasında çok dikkatli olmak gerekmektedir. Gereksiz bir şekilde veya yanlış verilerin silinmesi, önemli veri kayıplarına yol açabilir. Bu nedenle, veri silme işlemleri yapmadan önce mutlaka yedekleme yapılması gerekmektedir.