Nasıl yapılır: LINQ Kullanarak Count, Sum veya Average Verisi (Visual Basic)
Dil tümleştirilmiş sorgu (LINQ) veritabanı bilgilerini erişmek ve sorguları yürütmek kolaylaştırır.
Aşağıdaki örnek, bir sql Server veritabanında sorgular gerçekleştirir yeni bir uygulama gösterilmiştir.Örnek sayar, toplar ve sonuçları kullanarak ortalamasını alır Aggregate ve Group By yan tümceleri.Daha fazla bilgi için, bkz. Aggregate Tümcesi (Visual Basic) ve Group By Tümcesi (Visual Basic).
Bu konudaki örnek Northwind örnek veritabanını kullanır.Northwind örnek veritabanındaki geliştirme bilgisayarınızda yoksa, buradan yükleyebilirsiniz Microsoft Yükleme Merkezi'nden Web sitesi.Yönergeler için bkz: Downloading Sample Databases.
[!NOT]
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için, bkz. Visual Studio'da Geliştirme Ayarlarını özelleştirme.
Bir veritabanı bağlantısı oluşturmak için
Visual Studio'da açık Server Explorer/Database Explorer tıklatarak Server Explorer/Database Explorer , View menü.
Sağ Veri bağlantıları , Server Explorer/Database Explorer 'ı Add Connection.
Northwind örnek veritabanındaki geçerli bir bağlantı belirtin.
LINQ sql dosyası içeren bir proje eklemek için
Visual Studio, Dosya menüsü, Yeni 'ı Proje.Visual Basic'i seçin Windows Forms uygulamasý proje türü.
Proje menüsünde, Yeni Öğe Ekle'yi tıklatın.Seçin sql sınıfları için LINQ Item template.
Dosya adı northwind.dbml.Ekle‘yi tıklatın.Nesne ilişkisel Tasarımcısı (o/r Tasarımcısı) için northwind.dbml dosyası açılır.
o/r Tasarımcısı sorgu tablolar eklemek için
İçinde Server Explorer/Database Explorer, Northwind veritabanı bağlantısı'nı genişletin.Genişletme Tablo klasörü.
o/r Tasarımcısı kapattıysanız, daha önce eklenen northwind.dbml dosyasını çift tıklatarak yeniden açabilirsiniz.
Müşteriler tablosunu tıklatın ve tasarımcı sol bölmesine sürükleyin.Orders tablosunu tıklatın ve Tasarımcısı sol bölmesine sürükleyin.
Tasarımcı oluşturur Yeni Customer ve Order projeniz için nesneler.Tasarımcısı otomatik olarak tabloları arasındaki ilişkileri algılar ve alt ilgili nesnelerin özelliklerini oluşturur dikkat edin.Örneğin, IntelliSense, gösterecektir Customer nesne olan bir Orders özelliği tüm siparişler için o müşteri ile ilgili.
Değişikliklerinizi kaydetmek ve designer'ı kapatın.
Projeyi kaydedin.
Veritabanını sorgulamak ve sonuçları görüntülemek için kod eklemek için
Dan araç, sürükleyin bir DataGridView üzerine Form1 projeniz için varsayılan Windows Form denetimi.
Form1'i kodu eklemek için çift Load formun olay.
o/r Tasarımcısı tabloları eklendiğinde tasarımcıya eklenen bir DataContext projeniz için nesne.Bu nesne, bu tabloları erişmek ve ayrı ayrı nesnelerin ve koleksiyonların her tablo için erişim için gereken kodunu içerir.DataContext Nesne projenizin adlı .dbml dosyasının adını esas.Bu proje için DataContext nesne adındaki northwindDataContext.
Bir örneğini oluşturmak DataContext kodu ve sorgu o/r Tasarımcısı tarafından belirtilen tablolar.
Aşağıdaki kodu ekleyip Load özellikler olarak sergilenen tabloları sorgulamak için olay sizin DataContext ve saymak toplamak ve sonuçları ortalama.Örnek kullanır Aggregate yan tümcesi sorgulamak için tek bir sonuç ve Group By için ortalamayı göster yan sonuçları gruplanır.
Dim db As New northwindDataContext Dim msg = "" Dim londonCustomerCount = Aggregate cust In db.Customers Where cust.City = "London" Into Count() msg &= "Count of London Customers: " & londonCustomerCount & vbCrLf Dim averageOrderCount = Aggregate cust In db.Customers Where cust.City = "London" Into Average(cust.Orders.Count) msg &= "Average number of Orders per customer: " & averageOrderCount & vbCrLf Dim venezuelaTotalOrders = Aggregate cust In db.Customers Where cust.Country = "Venezuela" Into Sum(cust.Orders.Count) msg &= "Total number of orders from Customers in Venezuela: " & venezuelaTotalOrders & vbCrLf MsgBox(msg) Dim averageCustomersByCity = From cust In db.Customers Group By cust.City Into Average(cust.Orders.Count) Order By Average DataGridView1.DataSource = averageCustomersByCity
Projenizi çalıştırmak ve sonuçları görüntülemek için F5 tuşuna basın.
Ayrıca bkz.
Görevler
Walkthrough: Creating LINQ to SQL Classes (O/R Designer)
Başvuru
Aggregate Tümcesi (Visual Basic)
Group By Tümcesi (Visual Basic)
Kavramlar
DataContext Methods (O/R Designer)