Öncelikle bu yazının bir .NET 3.0+ makalesi olduğunu söylemek isterim.Linq To SQL 2. makalem ile karşınızdayım. Birinci makalemi okumak isteynler buradan bakabilirler.Linq to SQL ikinci makalemle sizlere daha temel bilgiler vermeye çalışacağım.Bildiğimiz gibi veritabanı işlemleri genel olarak select, insert, update, delete işlemlerinden oluşmaktadır. İsterseniz bu işlemleri ve kısa detaylarını hemen anlatmaya başlayalım. Bunun için ilk önce veritabanımızın modelini çıkarmamız gerekiyor. Visual Studio’da projemize add new item diyerek yeni bir eleman ekleyerek işlemimize başlıyoruz. Buradan Linq To SQL Class dosya türünü seçiyoruz, dosya ismini veriyoruz “Ornek” ya da siz istediğiniz ismi kullanın ve sonra OK butonuna basıyoruz. Ardından Server Explorer penceresinden veritabanımızdaki işlem yapmak istediğimiz tabloları, açılan Ornek.dbml dosyamızın içerisine sürükleyip bırakıyoruz. Burada dikkat etmemiz gereken nokta veritabanında ilişkilerimizin doğru bir biçimde önceden verilmiş olması. SQL Server’da Database Diagram kısmından bu işlemleri daha önceden halletmiş olmanız gerekiyor.========Select İşlemi========
Select Cümlesi
OrnekDataContext db = new OrnekDataContext();var result = (from p in db.TabloIsmi_1select p);TabloIsmi_1 tablosundan tüm kayıtları seçmemiz için gerekli olan select cümlesi yukarıda. Peki koşul vermek istersek ne yapmalıyız?Koşullu Select Cümlesi
OrnekDataContext db = new OrnekDataContext();var result = (from p in db.TabloIsmi_1where p.Alan_1 ==4select p);TabloIsmi_1 tablosundan Alan_1 değeri 4 olan kaydı seçiyoruz. Burada dikkat etmemiz gereken bazı noktalar var. Mesela Alan_1 alanını int bir veri ile karşlaştırmamız için bu alanın veritabanında da int türünde olması gerekmektedir.Not : C#’da alışık olmadığımız “var” sözcüğü nitelediği değişkenin tipini eşitliğin sağındaki veri tipiyle aynı olacak şekilde ayarlar. Yani var i = 1; dediğimde i değişkeninin veri tipi int olmaktadır. Tahmin edeceğiniz gibi var sözcüğünü bir değişkene atama yapmadan kullanmak söz konusu değildir. Örneğin ; var i; dediğimizde hata alırız.Koşul ve Sıralama İçeren Select Cümlesi
OrnekDataContext db = new OrnekDataContext();var result = (from p in db.TabloIsmi_1where p.Alan_1 >=4orderby p.Alan_2 descendingselect p);Yukarıdaki örnektede büyükten küçüğe olacak şekilde Alan_2 ye göre değerlerimizi sıralatıyoruz.Select Cümlesi İçerisinden Belli Sayıda Kayıt AlmaSelect cümlesi sonucundaki kümeden sadece 5 adet kayıt almak istersek aşağıdaki uygulamayı yapmamız gerekir.OrnekDataContext db = new OrnekDataContext();var result = (from p in db.TabloIsmi_1where p.Alan_1 >=4orderby p.Alan_2 descendingselect p).Take(5);========Insert İşlemi========
Tablomuz yeni kayıt girerken yapacağımız işlem ise şudur. İlk önce tablonun sınıfından bir örnek oluşturulur. Bu sınıf biz dbml dosyasını oluşturduğumuz sırada oluşturulmuştu. Daha sonra oluşturulan örneğe de değerler atılarak kayıt işlemi yapılır. İsterseniz örnek olarak inceleyelim.OrnekDataContext db = new OrnekDataContext();TabloIsmi_1 ti = new TabloIsmi_1();ti.Alan_1=15;ti.Alan_2=”Serkan”;db.TabloIsmi_1.InsertOnSubmit(ti);db.SubmitChanges();Böylelikle bir tabloya nasıl kayıt ekleyeceğimizi de görmüş olduk.=========Update İşlemi=========
Tablomuzda var olan birkaydı update etmek istiyorsak eğer aşağıdaki uygulamayı yapmamız gerekir.OrnekDataContext db = new OrnekDataContext();var result = (from p in db.TabloIsmi_1where p.ID == 1select p).Single();result.Alan_1 =5;result.Alan_2 =”Mert”;db.SubmitChanges();========Delete İşlemi========
OrnekDataContext db = new OrnekDataContext();var result = (from p in db.TabloIsmi_1where p.ID == 1select p).Single();db.TabloIsmi_1.DeleteOnSubmit(result);db.SubmitChanges();Evet basit olarak select, insert, update ve delete işlemlerinin uygulamalarını görmüş olduk. Yeni başlayanlar için iyi bir başlangıç olabileceğini düşünüyorum. Herkese başarılar.