Aracılığıyla paylaş


Nasıl yapılır: sayısı, toplam veya ortalama veri LINQ (Visual Basic) kullanarak

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. Toplam yan tümcesi (Visual Basic) ve Gruplandırma ölçütü yan 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 (LINQ to SQL).

[!NOT]

Bilgisayarınızda, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazılarının adı veya konumu farklı gösterilebilir. Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler. Daha fazla bilgi için bkz: Visual Studio ayarları.

Bir veritabanı bağlantısı oluşturmak için

  1. Visual Studio'da açık Server Explorer/Database Explorer tıklatarak Server Explorer/Database Explorer , View menü.

  2. Sağ Veri bağlantıları , Server Explorer/Database ExplorerAdd Connection.

  3. Northwind örnek veritabanındaki geçerli bir bağlantı belirtin.

LINQ sql dosyası içeren bir proje eklemek için

  1. Visual Studio, Dosya menüsü, YeniProje.Visual Basic'i seçin Windows Forms uygulamasý proje türü.

  2. Proje menüsünde, Yeni Öğe Ekle'yi tıklatın.Seçin sql sınıfları için LINQ Item template.

  3. 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

  1. İç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.

  2. 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.

  3. Değişikliklerinizi kaydetmek ve designer'ı kapatın.

  4. Projeyi kaydedin.

Veritabanını sorgulamak ve sonuçları görüntülemek için kod eklemek için

  1. Dan araç, sürükleyin bir DataGridView üzerine Form1 projeniz için varsayılan Windows Form denetimi.

  2. Form1'i kodu eklemek için çift Load formun olay.

  3. 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
    
  4. 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

Toplam yan tümcesi (Visual Basic)

Gruplandırma ölçütü yan tümcesi (Visual Basic)

Kavramlar

DataContext Methods (O/R Designer)

Diğer Kaynaklar

Visual Basic'te LINQ

Sorgular (Visual Basic)

LINQ to SQL