Aracılığıyla paylaş


Kodda ilgili verileri nesneleriyle çalışma

LightSwitch verilerinizi açıklayan nesne ve üyeler oluşturur.Bu nesnelerin ve üyelerin adları, çözümünüzdeki öğelerin adlarıyla eşleşir.Örneğin Customer adlı bir tablo eklerseniz LightSwitch, Customer adlı bir nesne oluşturur.Bu konuda, LightSwitch tarafından oluşturulan her bir nesne türü açıklanır.Verilerle ilgili ortak görevleri gerçekleştirmek üzere bu nesneleri ve üyeleri kullanan kod örneklerini görüntülemek için, bkz. Kod kullanarak verilerle ilgili görevler gerçekleştirme.

Oluşturulan Nesnelerin ve Üyelerin Hiyerarşisi

Aşağıdaki resimde, veri modelinizin oluşturulmuş nesne ve üyeleri özetlenir.

Oluşturulan nesne hiyerarşisi

Application

Application nesnesi, uygulamanızdaki nesnelere üst düzey erişim sağlar.Application nesnesin erişmek için, kod düzenleyicisinde herhangi bir kullanıcı kodu dosyasını açın ve ardından Application yazın.Application ve ardından “.” yazdıktan sonra IntelliSense'te görüntülenen yöntem ve özelliklerin türleri, kod yazdığınız kod dosyasına bağlı olarak değişir.Çoğu durumda, geçerli kullanıcıyı temsil eden bir nesne almak için Application nesnesinin bir özelliğini kullanabilirsiniz.

Veri Çalışma Alanı

DataWorkspace nesnesi, her veri erişimi için en üst düzey nesnedir.DataWorkspace nesnesi, projenizdeki her veri kaynağı için bir özellik içerir.Örneğin NorthwindData adlı bir veri kaynağınız varsa LightSwitch, NorthwinddData adlı bir özellik oluşturur.Kod Düzenleyicisi'nde DataWorkspace yazdığınızda, açılır listede NorthwindData özelliği kullanılabilir duruma gelir.

Aşağıdaki resimde, bir açılır listede görüntülenebilen bazı oluşturulmuş üyeler gösterilir.

DataWorkspace nesnesi, veri kaynağı özellikleri

Veri Kaynağı

LightSwitch projenizde her veri kaynağı için bir nesne oluşturur.Bu nesne, verilere erişmek için kullanabileceğiniz üyeleri içerir.Bir veri kaynağı nesnesinin üyeleri varlık kümesi özelliklerini ve sorgu yöntemlerini içerir.

Aşağıdaki resimde, bir açılır listede görüntülenebilen bazı oluşturulmuş üyeler gösterilir.

Veri kaynağı nesnesi üyeleri

Gg445195.collapse_all(tr-tr,VS.110).gifVarlık Kümesi Özellikleri

Bir varlık kümesi özelliği bir varlık koleksiyonu döndürür.LightSwitch veri kaynağındaki her varlık için bir varlık kümesi özelliği oluşturur.Örneğin veri kaynağınız Customer adlı bir varlık içeriyorsa LightSwitch, Customers adlı bir özellik oluşturur.Customer varlıkları koleksiyonunu temsil eden bir EntitySet nesnesini almak için Customers özelliğini kullanabilirsiniz.

EntitySet nesnesi, geçerli kullanıcının koleksiyondaki varlıkları okuma, güncelleştirme veya silme gibi izinlere sahip olup olmadığını denetlemenizi sağlayan üyeler içerir.Daha fazla bilgi için bkz. Kod kullanarak verilerle ilgili görevler gerçekleştirme.

[!NOT]

EntitySet birkaç farklı varlık koleksiyon nesnesi türlerinden biridir.Kodunuzun işlevini en iyileştirmek için, yazdığınız iş mantığına uygun doğru tür varlık koleksiyon nesnesini kullandığınızdan emin olun.Daha fazla bilgi için, bkz. Varlık Koleksiyonu Nesneleri ve Performansları.

Gg445195.collapse_all(tr-tr,VS.110).gifSorgu Yöntemleri

Bir sorgu yöntemi sorgunun sonuçlarını alır.LightSwitch veri kaynağında tanımlanan her bir sorgu için bir yöntem üretir.Yöntemin adı sorgunun adıyla eşleşir.Tek bir varlık döndürebilen bir sorgu veya IDataServiceQueryable türündeki varlıklar koleksiyonu.

[!NOT]

IDataServiceQueryable<T> birkaç farklı varlık koleksiyon nesnesi türlerinden biridir.Kodunuzun işlevini en iyileştirmek için, yazdığınız iş mantığına uygun doğru tür varlık koleksiyon nesnesini kullandığınızdan emin olun.Daha fazla bilgi için, bkz. Varlık Koleksiyonu Nesneleri ve Performansları.

Varsayılan olarak LightSwitch, veri kaynağındaki her varlık için şu sorgu yöntemlerini üretir.

  1. <Entity Name>_Single.

  2. <Entity Name>_SingleOrDefault.

Bu iki yöntem de birincil bir anahtar bölümünü kabul eder ve tek bir varlık nesnesi döndürür.Varlıkların hiçbiri döndürülmezse, <Entity Name>_Single yöntemi bir istisna oluştururken <Entity Name>_SingleOrDefault yöntemi bir Null değeri döndürür (Visual Basic'teNothing ).

Varlıklar

LightSwitch, varlık koleksiyonundaki her varlık için bir EntityObject üretir.Örneğin, kodunuz bir sipariş koleksiyonunu geri almışsa, koleksiyon her komutu temsil eden bir EntityObject içerir.Bir EntityObject, bir varlığı silmek, varlık özelliklerini okumak ve güncelleştirmek veya ilgili varlıkları almak için kullanabileceğiniz üyeleri içerir.EntitySet gibi bir varlık koleksiyon nesnesinden veya varlık döndüren bir sorgu yöntemi çağırarak varlıktan bir EntityObject alabilirsiniz.Daha fazla bilgi için bkz. Kod kullanarak verilerle ilgili görevler gerçekleştirme.

Aşağıdaki resimde myOrder adındaki bir Order varlığının üyeleri gösterilmektedir.Order varlığı OrderDate, OrderID, ve Freight gibi varlık özelliklerini içerir.Order varlığı ayrıca, ilgili Order_Details koleksiyonunu ve siparişi veren Customer öğesini almak için kullanabileceğiniz üyelere sahiptir.

Varlık nesne özellikleri

Bu örnekte, Customer özelliği bir Customer varlığını geri döndürür.Customer varlığı bir Customer-Order ilişkisinin bir tarafındadır.

Order_Details özelliği Order_Details varlıklarının koleksiyonunu döndürür.Order_Details varlığı Order-Order_Details ilişkisinin birçok tarafındadır.Order_Details koleksiyon nesnesi EntityCollection türündedir.

Bu resimde ayrıca Order_DetailsQuery adlı bir özellik gösterilmektedir.Query sözcüğü ile biten özellikler bir IDataServiceQueryable nesnesi döndürür.

[!NOT]

EntityCollection ve IDataServiceQueryable her iki türdeki varlık koleksiyon nesneleridir.Kodunuzun işlevini en iyileştirmek için, yazdığınız iş mantığına uygun doğru tür varlık koleksiyon nesnesini kullandığınızdan emin olun.Daha fazla bilgi için, bkz. Varlık Koleksiyonu Nesneleri ve Performansları.

Varlık Koleksiyon Nesneleri ve Performans

LINQ ifadesinde bir varlık koleksiyon nesnesi kullandığınızda, LightSwitch, sunucu katmanında varlıkları getiren bir işlem yürütür.Kullandığınız nesnenin türü, LightSwitch'in koleksiyondaki varlıkların tümünü mü yoksa yalnızca bir alt gurubunu mu geri alacağını belirler.Kodunuzun beklenen işlevini sağladığından emin olmak için, yazdığınız iş mantığına en uygun koleksiyon nesne türünü seçin.İki tür varlık koleksiyon nesnesi vardır: LightSwitch öğesinin bir LINQ ifadesini uzaktan değerlendirmesine neden olan nesneler ve LightSwitch öğesinin bir LINQ ifadesini yerel olarak değerlendirmesine neden olan nesneler.

Gg445195.collapse_all(tr-tr,VS.110).gifLINQ İşlemleri: Uzak VS. Yerel Çalışma

LINQ ifadesinde bir EntitySet veya IDataServiceQueryable kullanırsanız LightSwitch, LINQ ifadesinin tamamını sunucu katmanının veri hizmetine iletir.Daha sonra, anlatımın sonuçları çağıran koda geri yollanır.Bu tür sorgu yürütmesi iyi işler çünkü yalnızca sorguyu karşılayan varlıklar çağıran koda döndürülür.Ancak, sorgu işlemcilerinin yalnızca bir alt kümesi veri hizmeti tarafından desteklenir.İfadeniz diğer LINQ işleçlerini gerektiriyorsa, başka türdeki koleksiyon nesnelerini kullanmayı düşünün.

Aşağıdaki resimde, IDataServiceQueryable nesnesini kullanan bir LINQ ifadesi gösterilmektedir.Bu örnek ifadenin tamamını veri hizmetine ileten ve yalnızca sorguyu karşılayan Order varlıklarını döndüren LINQ işlecini gösterir.

Bir sorgu ifadesinin uzaktan yürütme

LINQ ifadesinde bir EntityCollection veya IEnumerable nesnesi kullanırsanız LightSwitch bu ifadeyi veri hizmetine iletmez.Bunun yerine, LightSwitch söz konusu türün tüm varlıklarını getirir.Daha sonra, anlatım tüm koleksiyona yerel olarak uygulanır.Bir varlık koleksiyonu büyükse, bu türdeki sorgu yürütme performansı olumsuz yönde etkileyebilir.Ancak, kodunuz LINQ işleçlerinin tam kümesini kullanabilir.Bu yaklaşım ayrıca, tam koleksiyon varlıklarını kodunuzdaki diğer yöntemlere iletmek istediğinizde bir anlam ifade edebilir.

Aşağıdaki resimde, EntityCollection nesnesini kullanan bir LINQ ifadesi gösterilmektedir.Bu örnek, belirli bir müşteriye yönelik tüm Order varlıklarını getiren LINQ işlemini gösterir.Daha sonra, sorgunun koşulları tüm koleksiyona yerel olarak uygulanır.

Bir sorgu ifadesinin yerel yürütme

Gg445195.collapse_all(tr-tr,VS.110).gifÖrnekler: Kod içindeki Varlık Koleksiyon Nesnelerini Alma

Aşağıdaki bölümde, Northwind örnek veritabanındaki Order varlıklarının koleksiyonlarının nasıl elde edileceği gösterilmektedir.

Bu varlık koleksiyon nesnesini almak için

Bu kodu kullanın

Uzak veya Yerel Yürütme

EntitySet

DataWorkspace.Northwind.Orders

or

myOrder.Details.EntitySet()

Uzaktan

IDataServiceQueryable

myCustomer.OrdersQuery

or

DataWorkspace.Northwind.Orders.GetQuery()

Uzaktan

EntityCollection

myCustomer.Orders

Yerel

IEnumerable

myCustomer.OrdersQuery.Execute()

or

DataWorkspace.Northwind.Orders.GetQuery().Execute()

Uzaktan

Ayrıca bkz.

Kavramlar

Kod kullanarak verilerle ilgili görevler gerçekleştirme

LightSwitch içindeki kod yazma

Diğer Kaynaklar

Veri: Uygulamanızı arkasında bilgi