Bu makalede LINQ to SQL kullanarak tablomuzdan veri silme işlemlerini inceleyeceğiz.
 
Öncelikle DELETE işleminin katı SQL kodunu inceleyelim.
Elimizde kutuphane isimli bir veritabanı olsun. Bu veritabanı içinde bulunan kitapbilgisi isimli tablodaki verileri güncelleyeceğiz. Öncelikle kitapbilgisi tablosundaki verilere kısaca göz atalım:
linq-to-sql-delete-1

linq-to-sql-delete-1

Örneğin bu veriler içerisinden id’si 9 olan kitabı silmek istediğimde yazmam gereken SQL kodu aşağıdaki gibi olacaktır:
DELETE FROM kitapbilgisi WHERE id=9
Şimdi bu işlemi LINQ to SQL ile çalıştıralım.
private void Sil()
{
        DataClasses1DataContext dc = new DataClasses1DataContext();
        kitapbilgisi kitap = dc.kitapbilgisis.First(k => k.id == 9);
        dc.kitapbilgisis.DeleteOnSubmit(kitap);
        dc.SubmitChanges();
}
kitapbilgisi kitap = dc.kitapbilgisis.First(k => k.id == 5) :Güncelleme işleminikitapbilgisi tablosunda yapacağımız için kitapbilgisi türünde bir değişken oluşturduk. Bu değişken, kitapbilgisi’nden bir adet veriyi tutmaktadır. Hangi veriyi alacağını ise eşitliğin sağındaki kodla belirlemekteyiz. DataClasses1’de bulunan kitapbilgisi tablosundan k takma isminde bir kayıt belirliyoruz ve bu kaydın id’sinin 5 olduğunu söylüyoruz. Firstmethodu ise belirttiğim kriterlere uygun olan ilk kaydı (TOP 1) vermektedir.
dc.kitapbilgisis.DeleteOnSubmit(kitap): Veritabanında,  parametre olarak atadığı tabloya veri silme işlemini gerçekleştirir.
dc.SubmitChanges() : Veritabanında insert, update, delete ya da başka bir execute işleminin çalışmasını sağlamaktadır.
Kodumuzu çalıştırdığımızda veritabanının yapısı aşağıdaki gibi olmaktadır:
 
linq-to-sql-delete-2

linq-to-sql-delete-2