Şub
10
2013

Linq To Sql Ogreniyorum 2

Linq To SQL Komutlarınından    SELECT  ,WHERE ,UPDATE  ,INSERT ,DELETE   ile örnekler yapacağız.

Komutlarımızı yazmadan once kullanacağımız nesneleri içeren DataContext nesnesinden bir tane tanımlıyoruz.

DataClassesNORTHWNDDataContext   myContext  = new DataClassesNORTHWNDDataContext();

Select Komutu

Product  toplasındaki  tüm  verileri getiren linq to sql komutudur.

 Query Syntax

var customers = from c in myContext.Products
dataGridView1.DataSource = customers;

 

Lambda Syntax

var customers = myContext.Products.Select(s => s);
dataGridView1.DataSource = customers;

 

select

 

Tablodaki  tüm alanları değilde bazı alanları göstermek istediğimizde aşağıdaki gibi yazmamız gerekmektedir.

Query Syntax

var customers = from c in myContext.Products
select new {   c.ProductName,
c.CategoryID  };
dataGridView1.DataSource = customers;

 

Lambda Syntax

var customers = myContext.Products.Select(s => new{ s.ProductName,s.CategoryID});
dataGridView1.DataSource = customers;

 

select secim

 

Where  Komutu

Product tablosundaki  CategoryID ‘si 3 eşit olan ProductName ve CategoryID alanlarını getiren komut.

Query Syntax

v

ar customers = from c in myContext.Products
where c.CategoryID==3
select new
{
c.ProductName,
c.CategoryID
};
dataGridView1.DataSource = customers;

Lambda Syntax

 

var customers = myContext.Products.Where(s => s.CategoryID == 3).Select(s => new { s.ProductName, s.CategoryID });
dataGridView1.DataSource = customers;

where

 

Burdaki kodda ise veya operatörü kullanılarak bir  işlem yapılmıştır.  CategoryID’si 7’den büyük veya 3’den  küçük olanları alan sorgudur.

Query Syntax

var customers = from c in myContext.Products
where c.CategoryID>7  ||  c.CategoryID<3
select new
{
c.ProductName,
c.CategoryID
};
<b>  </b>dataGridView1.DataSource = customers;

 

Lambda Syntax

var customers = myContext.Products.Where((s=>s.CategoryID>7 || s.CategoryID<3)).Select(s => new { s.ProductName, s.CategoryID });
dataGridView1.DataSource = customers

 

where or

Veya operatörü kullandığımız gibi  Ve operatörünüde kullanabiliriz yapmanız gereken || yerine && işaretini  koymanız ve koşulunu yazmanız yeterli olacaktır.

 Update

Linq to Sql sorgulama kolaydır ve ekleme ve silme yöntemleri vardır.  Genellikle güncelleniyor DataContext zaten bilinen bir nesne değiştirme ve ardından  SubmitChanges mesajını kullanmamız gerekmetedir.

ProductID’si 1 eşit olan tabloda bir tane bulunan kayıdın ProductName aşağıda göründüğü gibi güncelledik.

Query Syntax

var product = (from p in myContext.Products
where p.ProductID == 1
select p).Single();
product.ProductName = "Harun Balta";
myContext.SubmitChanges();
dataGridView1.DataSource = product;

 

Lambda Syntax

var product =  myContext.Products.Where(p=>p.ProductID == 1).Single();
product.ProductName = "Harun Balta";
myContext.SubmitChanges();
dataGridView1.DataSource = product;

 

update attact

Update

Attach metodunu kullanarak  update yapabiliriz.

Yukarıdaki sorgunun yaptığı işin aynısı  yapmaktadır.

Product product = new Product();
product.ProductID =1;
myContext.Products.Attach(product);
product.ProductName = "Harun Balta Attach ";
myContext.SubmitChanges();

 

 

İnsert

Category   tablosuna yeni bir kayıt ekleme için aşağıdaki  kodu çalıştırmamız gerekmektedir.

Query Syntax

Category category = new Category();
category.CategoryID = 9;
category.CategoryName = "Türk Yemekleri";
category.Description = "Kuru Fasulye,Pilav";
myContext.Categories.InsertOnSubmit(category);
myContext.SubmitChanges();

 

insert

 

Delete

Query Syntax

Category category = (from k in myContext.Categories
where k.CategoryID == 9
select k).Single();
myContext.Categories.DeleteOnSubmit(category);
myContext.SubmitChanges();
dataGridView1.DataSource = product;

 

Lambda Syntax

Category category = myContext.Categories.Single(c => c.CategoryID == 9);
myContext.Categories.DeleteOnSubmit(category);
myContext.SubmitChanges();
dataGridView1.DataSource = product;

 

delete

Bu yazımızda Linq To SQL Komutlarınından    SELECT  ,WHERE ,UPDATE  ,INSERT ,DELETE komutlarını incelemeye çalıştık diğer Linq To SQL yazılarında diğer komutlara değinmeye çalışacağız.

Yazar Hakkında

Harun Balta 63 adet yazısı bulunuyor..

Bilgisayar Mühendisliği Üzerine çalıştığım konular: C# , .Net , Silverlight , WPF , Entity Framework ,MVVM, Oracle ,Pl/Sql

Print Friendly