Aracılığıyla paylaş


Sorgu: Bir veri kaynağındaki bilgileri alınıyor

Bir dizi kritere uygun olan verilere geri dönmek için sorgu seçeneğini kullanın.Örneğin, müşterilerinizden kaçının ABD'de yaşadığını öğrenmek istiyorsanız, müşteri listesini tarayan ve müşterilerin adreslerinde belirtilen ülke/bölgeyi kontrol eden bir sorgu oluşturmalısınız.

Sorguları oluşturabilir ve uygulama modeli için kaydedebilirsiniz.Sonra sorgu tasarımcısını kullanarak arama ölçütlerinizi belirleyebilirsiniz.Sorgu tasarımcısı gereken işlevselliği sağlamazsa, birkaç kod yazarak sorguları genişletebilirsiniz.Ölçütünüzü belirttiğinizde, ekrandaki sorguları tüketin veya bunları iş mantığınızın bir parçası olarak çalıştırın.

Sorgunun Oluşturulması

Çözüm Gezgini'nde sorgu oluşturabilirsiniz.Sorgu, uygulama modelinizdeki bir varlık veya tabloya bağlıdır (örneğin, Customer varlığı).Bir sorgu aynı zamanda uygulama modelinizdeki diğer sorgulara dayanabilir.Sorgunun dayandığı varlık, tablo veya sorguya sorgu kaynak verisi denir.Daha fazla bilgi için bkz. Nasıl yapılır: ekleme, kaldırma ve bir sorguyu değiştirin.

Sorgu Tasarımcısı Kullanılarak Sorgunun Tasarlanması

Çoğu durumda, sorgu tasarımcısını kullanarak bir sorguyu görsel olarak tasarlayabilirsiniz.Tasarımcıdaki seçimleri yaparak bir sorguya filtre koşulları, filtre grupları, sıralama ifadeleri ve parametreler ekleyin.Daha fazla bilgi için bkz. Nasıl yapılır: Sorgu Tasarımcısı'nı kullanarak bir sorgu tasarlama.

Ee256728.collapse_all(tr-tr,VS.110).gifFiltre Koşulları

Bir veya daha fazla filtre koşulu ekleyerek sorgu sonuçlarını daraltabilirsiniz.Filtre koşulu, her veri satırı tarafından karşılanması gereken bir kural tanımlar.Sorgu sonuçlarında bulunan kuralla uyumlu olan satırlar.Filtre koşulu, aşağıdaki üç ana bölümü içerir:

  • Seçim özelliği

  • Karşılaştırma değeri

  • İşleç

Seçim özelliği, filtre koşulunu temel olarak kullanmak istediğiniz özelliktir.Örneğin, belirli bir sipariş tarihi olan satış siparişlerine geri dönmek için, seçim özelliği olarak OrderDate seçeneğini kullanabilirsiniz.Seçim özelliği, kaynak verilerdeki bir özellik veya ilgili varlık veya tablodaki bir özellik olabilir.Sorgu tasarımcısındaki özellikler, yalnızca sıfırdan bire veya bir çeşitliliğine sahip ilgili varlık veya tablolar için görünür.Örneğin, bir satış siparişi için tek bir müşteri vardır.Bu nedenle, satış siparişlerini döndüren sorguda sorgu filtresi koşulunun bir parçası olarak ilişkili müşteri özelliklerini seçebilirsiniz.Çeşitliliğe sahip ilgili bir varlık veya tabloya ait bir özellik kullanmak istiyorsanız, kod kullanarak sorguyu genişletmelisiniz.

Karşılaştırma değeri seçim özelliği ile karşılaştırılır.Karşılaştırma değeri, "9/22/2009 12:00:00 AM" dizesi, seçim özellikleri ve parametre gibi tam bir değer ve Şimdi, Bugün veya Hafta Başlangıcı gibi göreceli bir değer olabilir.

İşleç, yapmak istediğiniz karşılaştırma türünü belirten simgedir.Örneğin, sipariş tarihi "9/22/2009 12:00:00"den daha önce olan satış siparişlerine geri dönmek için, "<" işlecini seçmelisiniz.

Bu örnekte tanımlanan eksiksiz filtre koşulu Where OrderDate < 9/22/2009 12:00:00 AM şeklindedir.

Aşağıdaki işleçlerden birini kullanarak bir filtre koşulunu diğer filtre koşulları ile ilişkilendirebilirsiniz: And, Or, And Not, Or Not.

Tasarımcıda istediğiniz konumlara sürükleyerek, koşulların sırasını değiştirebilirsiniz.

Aşağıdaki resim, filtre koşulunun bölümlerini gösterir.

Bir sorgudaki filtre koşulları

Ee256728.collapse_all(tr-tr,VS.110).gifFiltre Grupları

Koşulların filtre koşullarının geri kalanından ayrı olarak tek bir birim olarak değerlendirilebilmeleri için filtre koşullarını gruplayabilirsiniz.Bunu gerçekleştirmek için sorgu tasarımcısında filtre grubu oluşturun.

Filtre koşullarını gruplandırma, matematiksel denklemde ifade veya mantıksal bir ifade çevresine parantezler koymak gibidir.Koşulları gruplandırdığınızda, gruptaki ilk koşuldan önce görüntülenen mantıksal işleç, grubun tamamına uygulanır.

Bağımsız filtre koşulları gibi, filtre gruplarını tasarımcıda istediğiniz konuma sürükleyerek bunların sırasını değiştirebilirsiniz.

Aşağıdaki şekilde iki filtre grubu görülmektedir.

Bir sorgudaki filtre grupları

Ee256728.collapse_all(tr-tr,VS.110).gifSıralama Terimleri

Bir veya daha fazla sıralama ifadesi ekleyerek sorgu sonuçlarında hangi kayıtların görüneceğini varsayılan olarak belirleyebilirsiniz.Sıralama ifadesi, bir özellik ve yönü içerir (örneğin, OrderDate ve Ascending).Sıralama terimleri, ekranda görüntülenen kayıtların varsayılan sıralama düzenini tanımlar.Kullanıcılar, ekranın Kullanıcı Arabirimi'nde (UI) kullanarak farklı bir siparişte kayıtları inceleyebilirsiniz.Sorgu tasarımcısında istediğiniz konuma sürükleyerek, bildirim alanındaki simgelerin listedeki sırasını ve gizli simgelerin sırasını değiştirebilirsiniz.

Ee256728.collapse_all(tr-tr,VS.110).gifParametreler

Kullanıcıların dinamik olarak sorgu sonuçlarını filtrelemelerini sağlayabilirsiniz.Örneğin, bir kullanıcının ekrandaki özel satış alanını seçerek bölgesel satış siparişlerini görüntülemesini sağlar.Bu senaryoyu desteklemek için, sorguya bir parametre ekleyin ve sorguyu gerektiği gibi bir adlandırın (örneğin, SalesTerritory).Sonra parametre için bir filtre karşılaştırma değeri ayarlayın.Örneğin, sorgu ifadesi, Where TerritoryID = SalesTerritory olabilir.

Kullanıcıların çalışma zamanında parametre değeri sağlamaları için ekranlarını tasarlayabilirsiniz.Daha fazla bilgi için bkz. Nasıl yapılır: sorgu parametresi için bir değer girin.

Kod Kullanılarak Sorgunun Genişletilmesi

Sorgu tasarımcısı, bazı filtre koşulu türlerini desteklemez.Tasarımcıda bir sınırlandırma ile karşılaşırsanız, kod kullanarak sorgunuza koşul ekleyebilirsiniz.

[!NOT]

Ekran sorgusunu genişletemezsiniz.Sadece Çözüm Gezgini'nde görünen sorguları genişletebilirsiniz.Ekran sorgusu düzenleme hakkında daha fazla bilgi için bkz: Nasıl yapılır: Silverlight Ekranında Verileri Filtreleme.

Aşağıdaki tablo, sorgu tasarımcısı kullanarak oluşturamadığınız iki filtre koşulunu gösterir.

Filtre koşulu

Kod kullanma nedeni

Satış siparişleri sayısına göre ilk 10 müşteriye geri dönün.

Satış siparişlerinin sayısını belirlemek için Count işlemini kullanmalısınız.Count, Aggregate ve Sum gibi işlemler, sorgu tasarımcısında kullanılabilir değildir.

El arabası satın alan tüm müşterilere geri dönün.

Bir müşterinin el arabası satın alıp almadığını belirlemek için, Product varlığına referansta bulunan filtre koşulunu kullanmanız gerekir.Bir müşteri birkaç ürünle ilgili olabileceği için Product varlığının, Customer-Product ilişkisinin pek çok yanında olması muhtemeldir.Sorgu tasarımcısı, ilişkinin pek çok tarafında gezinmenizi sağlamaz.

Bu sınırlandırmayı kaldırmak için, sorgu yürütüldüğünde çağrılan yönteme özel kod ekleyebilirsiniz.Daha fazla bilgi için bkz. Nasıl yapılır: kod kullanarak bir sorgu genişletin.

Kodunuzda, standart LINQ söz dizimi kullanarak filtre koşullarını tanımlayabilirsiniz.Sorgu yürütüldüğünde, tasarımcıda tanımladığınız koşulları, sorgu sonucu üretmek için kodunuzda tanımladığınız koşulları ile birleştirilir.

Kodunuzda tanımladığınız koşullar, sorgu tasarımcısındaki filtre koşulları olarak görünmez.Benzer şekilde, sorgu tasarımcısını kullanarak eklediğiniz filtre koşulları, yöntemde görünmez.Bir sorgu için parametre eklemek istiyorsanız, bunu yalnızca sorgu tasarımcısını kullanarak yapın.Sorgu tasarımcısını kullanarak eklediğiniz parametreler, yöntem parametre listesinde görünür.

Sorgunun Tüketilmesi

Ekranda bir sorguyu tüketebilir ya da kodda iş işleminin bir parçası olarak sorguyu çalıştırabilirsiniz.

Ee256728.collapse_all(tr-tr,VS.110).gifEkrandaki Sorgunun Tüketilmesi

Özel sorguya (örneğin, Amerika Birleşik Devletleri'nde bulunan müşterilerin listesini gösteren bir ekran) dayanan bir ekran oluşturabilirsiniz.Daha fazla bilgi için bkz. Nasıl yapılır: Silverlight Ekranı Oluşturma.

Bir ekrana birden fazla sorgu ekleyebilirsiniz.Örneğin, belirli bir müşteri için satış siparişlerinin bir listesini gösteren bir sorgu tasarlayabilirsiniz.Bu sorguyu Müşteri ekranına ekleyebilirsiniz.Sonra kullanıcının ilgili tüm satış siparişlerini görüntülemesi için bir müşteri seçmesini sağlayabilirsiniz.Bunun nasıl yapıldığı hakkında daha fazla bilgi için, bkz. Nasıl yapılır: sorgu parametresi için bir değer girin.

Ee256728.collapse_all(tr-tr,VS.110).gifEkrandaki Kodun Tüketilmesi

Uygulama modelinden sorgular alabilir ve bunları kodda çalıştırabilirsiniz.Bu, uygulamanızın iş mantığında hedeflenen veri koleksiyonları ile çalışmanızı sağlar.Daha fazla bilgi için bkz. Nasıl yapılır: Veri Al bir sorgudan kodunu kullanarak.

İlgili Konular

Başlık

Tanımlama

Nasıl yapılır: ekleme, kaldırma ve bir sorguyu değiştirin

Visual Studio LightSwitch UI'ye sorgu ekleyebileceğiniz yerleri açıklar.

Nasıl yapılır: Sorgu Tasarımcısı'nı kullanarak bir sorgu tasarlama

Görsel tasarımcı kullanılarak filtre koşulları, parametre ve sıralama öğelerinin nasıl tanımlanacağını açıklar.

Nasıl yapılır: sorgu parametresi için bir değer girin

Kullanıcıların sorgu parametresi için nasıl değer sağlayacaklarını açıklar.

Nasıl yapılır: kod kullanarak bir sorgu genişletin

Tasarımcının yeteneklerinin ötesine gitme şekillerinde sorgunun nasıl değiştirileceğini açıklar.

Nasıl yapılır: sorgu olayları işlemek

Sorgu yürütülmeden önce ve yürütüldükten sonra olayların nasıl işleneceğini açıklar.

Nasıl yapılır: Veri Al bir sorgudan kodunu kullanarak

Kod kullanılarak nasıl sorgu alınacağını ve yürütüleceğini açıklar.

Başvuru: Sorgu Tasarımcısı özellikleri

Sorgu ve sorgu öğelerinin özelliklerini açıklar.Bu özelliklerin değerlerini Özellikler penceresinden ayarlayabilirsiniz.