LINQtoSQL Silverligth Uygulamalarında LinqtoSql
LINQ (Language Integrated Query) özellikle dil içerisinde, Sql tarzı sorgular yazabilmemizi ve bunları var olan IEnumerable türevli tipler üzerinde kullanabilmemizi sağlayan bir Microsoft teknolojisidir. LINQ
.NET Language Integrated Query LINQ to Objects Objects C# 3.0C# 3.0 Visual Basic 9.0Visual Basic 9.0 OthersOthers Objects XML Relational LINQ to Objects LINQ to DataSets LINQ to Entities LINQ to SQL SQL LINQ to XML LINQ PROJESİ LINQ to SQL
NEDEN LINQ? Nesne tabanlı bir ortamda büyük veri kümelerini de birer nesne haline getirebilmek Nesneler üzerinde arama, sıralama, gruplama gibi işlemleri daha kolay yapabilmek Bu işlemleri sadece kullanılan dil ile gerçekleştirebilme Veritabanındaki tablolara.NET nesnesi olarak uygulama içerisinde sorgulayabilmek XML dosyalarındaki verileri XPath ve Xquery kullanmadan, SQL ifadesi yazar gibi sorgulayabilmek Koleksiyon ve dizi nesnelerini sorgulayabilmek Ve bu sorgulamaları dil ile entegre şekilde oluşturabilmek için kullanılabilir…
LINQtoSQL .NET sınıflarını kullanarak relational database işlemleri yapabilmemize olanak sağlayan bir O/RM (object relational mapping) uygulamasıdır.
.NET Language Integrated Query LINQ to Objects Objects C# 3.0C# 3.0 Visual Basic 9.0Visual Basic 9.0 OthersOthers Objects XML Relational LINQ to Objects LINQ to DataSets LINQ to Entities LINQ to SQL SQL LINQ to XML LINQ PROJESİ LINQ to SQL
ESKİDEN… SqlConnection cnn = new SqlConnection(baglanti); cnn.Open(); String komut = "SELECT * FROM tabloBir WHERE sayi>5 "; DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(komut, cnn); da.Fill(ds, "tabloBir"); dataGridView1.DataSource = ds.Tables["tabloBir"]; cnn.Close();
ŞİMDİLERDE… var sayılar= from sayi in db.tabloBir where sayi > 5 select sayi Ele alınacak liste (dizi veya koleksiyon gibi) Seçilecek verileri belirleme (Şart bildirme, sıralama, gruplama) Sorguda kullanılacak değer Sonuçta yer alacak değer
ARKADA NELER OLUYOR?Uygulama LINQ to SQL SQL Server from c in db.Customers where c.City == "London" select c.CompanyName Enumerate SELECT CompanyName FROM Customer WHERE City = 'London' SQLSorgusu Satırlar Nesneler db.Customers.Add(c1); c2.City = “Seattle"; db.Customers.Remove(c3); SubmitChanges() INSERT INTO Customer … UPDATE Customer … DELETE FROM Customer … SQLSorgusu
Silverlight Uygulamalarında LinqToSql Silverlight client taraflı çalışmaktadır. Bu nedenle bu tarz uygulamalardan direkt olarak veritabanına bağlanamayız. Kullanmamız gereken veritabanına LinqtoSql ile bir web servisi yardımı sayesinde erişebiliriz. Uygulama Örnekleri…..