Nasıl yapılır: Sorgu Sonuçlarını LINQ Kullanarak Sıralama (Visual Basic)
DilLe Tümleşik Sorgu (LINQ), veritabanı bilgilerine erişmeyi ve sorguları yürütmeyi kolaylaştırır.
Aşağıdaki örnekte, SQL Server veritabanında sorgular gerçekleştiren ve yan tümcesini kullanarak Order By
sonuçları birden çok alana göre sıralayan yeni bir uygulamanın nasıl oluşturulacağı gösterilmektedir. Her alanın sıralama düzeni artan düzen veya azalan düzen olabilir. Daha fazla bilgi için bkz . Order By Yan Tümcesi.
Bu konudaki örneklerde Northwind örnek veritabanı kullanılmıştır. Geliştirme bilgisayarınızda bu veritabanı yoksa, bu veritabanını Microsoft İndirme Merkezi'nden indirebilirsiniz. Yönergeler için bkz . Örnek Veritabanlarını İndirme.
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. IDE’yi kişiselleştirme.
Veritabanına bağlantı oluşturmak için
Visual Studio'da, Görünüm menüsünde Sunucu Gezgini/Veritabanı Gezgini'ne tıklayarak Sunucu Gezgini/Veritabanı Gezgini'ni açın.
Sunucu Gezgini Veritabanı Gezgini'nde/ Veri Bağlan ions'a sağ tıklayın ve ardından Bağlan ekle'ye tıklayın.
Northwind örnek veritabanı için geçerli bir bağlantı belirtin.
LINQ to SQL dosyası içeren bir proje eklemek için
Visual Studio'da, Dosya menüsünde Yeni'nin üzerine gelin ve Proje'ye tıklayın. Proje türü olarak Visual Basic Windows Forms Uygulaması'nı seçin.
Proje menüsünde Yeni Öğe Ekle'ye tıklayın. LINQ to SQL Sınıfları öğe şablonunu seçin.
Dosyayı
northwind.dbml
olarak adlandırın. Ekle'yi tıklatın. Nesne İlişkisel Tasarımcısı (O/R Tasarım Aracı) northwind.dbml dosyası için açılır.
O/R Tasarım Aracı sorguya tablo eklemek için
Sunucu Gezgini/Veritabanı Gezgini'nde Northwind veritabanı bağlantısını genişletin. Tablolar klasörünü genişletin.
O/R Tasarım Aracı kapattıysanız, daha önce eklediğiniz northwind.dbml dosyasına çift tıklayarak dosyayı yeniden açabilirsiniz.
Müşteriler tablosuna tıklayın ve tasarımcının sol bölmesine sürükleyin. Siparişler tablosuna tıklayın ve tasarımcının sol bölmesine sürükleyin.
Tasarımcı, projeniz için yeni
Customer
veOrder
nesneler oluşturur. Tasarımcının tablolar arasındaki ilişkileri otomatik olarak algılayıp ilgili nesneler için alt özellikler oluşturduğuna dikkat edin. Örneğin, IntelliSense nesneninCustomer
bu müşteriyle ilgili tüm siparişler için birOrders
özelliği olduğunu gösterir.Değişikliklerinizi kaydedin ve tasarımcıyı kapatın.
Projenizi kaydedin.
Veritabanını sorgulamak ve sonuçları görüntülemek için kod eklemek için
Araç Kutusu'ndan, bir DataGridView denetimi projeniz için varsayılan Windows Formu olan Form1'e sürükleyin.
Formun olayına kod eklemek için Form1'e
Load
çift tıklayın.O/R Tasarım Aracı tablolar eklediğinizde tasarımcı projenize bir DataContext nesne ekledi. Bu nesne, bu tablolara erişmek ve her tablo için tek tek nesnelere ve koleksiyonlara erişmek için ihtiyacınız olan kodu içerir. DataContext Projenizin nesnesi, .dbml dosyanızın adına göre adlandırılır. Bu proje için DataContext nesnesi olarak adlandırılır
northwindDataContext
.kodunuzda öğesinin DataContext bir örneğini oluşturabilir ve O/R Tasarım Aracı tarafından belirtilen tabloları sorgulayabilirsiniz.
Veri bağlamınızın özellikleri olarak sunulan tabloları sorgulamak ve sonuçları sıralamak için olaya aşağıdaki kodu
Load
ekleyin. Sorgu, sonuçları müşteri siparişlerinin sayısına göre azalan düzende sıralar. Aynı sayıda siparişe sahip müşteriler, şirket adına göre artan düzende (varsayılan) sipariş edilir.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
Projenizi çalıştırmak ve sonuçları görüntülemek için F5 tuşuna basın.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin