Aracılığıyla paylaş


Nasıl yapılır: Sorgu Sonuçlarını LINQ Kullanarak Sıralama (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 yapar ve sonuçları birden çok alanı kullanarak sıralar yeni bir uygulama oluşturulması gösterilmiştir Order By yan tümcesi.Her alan için sıralama düzeni artan veya azalan.Daha fazla bilgi için bkz. Order 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

  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 projenize nesnesi.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 veri içeriğiniz özellikleri olarak sunulur ve sonuçları sıralama tabloları sorgulamak için olay.Sorgu sonuçları azalan sırayla müşteri siparişlerinin sayısı göre sıralar.Aynı sayıda siparişleri olan müşterileri, artan düzende (varsayılan) şirket adına göre sıralanır.

    Dim db As New northwindDataContext
    
    Dim q = From cust In db.Customers
            Where cust.Orders.Count > 0
            Select cust.CustomerID, cust.CompanyName,
                   OrderCount = cust.Orders.Count, cust.Country
            Order By OrderCount Descending, CompanyName
    
    DataGridView1.DataSource = q
    
  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)

Kavramlar

DataContext Methods (O/R Designer)

Diğer Kaynaklar

Visual Basic'de LINQ

Sorgular (Visual Basic)

LINQ to SQL [LINQ to SQL]