Aracılığıyla paylaş


Nasıl yapılır: Bileşik Anahtarlar Kullanarak Birleştirme (C# Programlama Kılavuzu)

Bu örnek, bir eşleşme tanımlamak için birden fazla anahtar kullanmak istediğiniz birleştirme işlemlerini gerçekleştirmek gösterilmiştir.Bileşik anahtar kullanılarak gerçekleştirilir.Bileşik anahtar olarak anonim bir tür veya adlandırılmış karşılaştırmak istediğiniz değerleri yazılı oluşturursunuz.Sorgu değişken yöntemi sınırlarında geçirilecek, geçersiz kılan adlandýrýlmýþ bir tür kullanın Equals ve GetHashCode anahtar.Özellikler ve bunların ortaya çıktığı, sipariş adlarını her anahtar aynı olması gerekir.

Örnek

Aşağıdaki örnekte bir bileşik anahtar üç tablolardan verileri birleştirmek için nasıl kullanılacağı gösterilmiştir:

var query = from o in db.Orders
    from p in db.Products
    join d in db.OrderDetails 
        on new {o.OrderID, p.ProductID} equals new {d.OrderID, 
        d.ProductID} into details
        from d in details
        select new {o.OrderID, p.ProductID, d.UnitPrice};

Tür kesmesi bileşik tuşlarını özellik anahtarları ve bunların ortaya çıktığı sırada adlarını bağlıdır.Kaynak sıraları özelliklerinde aynı adları yoksa, yeni adlar anahtarlarında atamanız gerekir.Örneğin, Orders tablo ve OrderDetails tablo her kullanılan kendi sütunlar için farklı adlar, anonim türleri aynı adları atayarak bileşik anahtarları oluşturabilir:

join...on new {Name = o.CustomerName, ID = o.CustID} equals 
    new {Name = d.CustName, ID = d.CustID }

Bileşik anahtarları da kullanılabilir bir group yan tümcesi.

Kod Derleniyor

  • Derlemek ve bu kodu çalıştırmak için aşağıdaki adımları izleyin:

  • Açık Nasıl yapılır: Northwind Veritabanına Bağlanma ve proje oluşturuyorsunuz ve veritabanı bağlantısı oluşturmak için yönergeleri izleyin.Daha fazla bilgi için bkz. Nasıl Yapılır: Örnek Veritabanları Yükleme.

  • Samples.cs Northwind giriş parametre db (Bu dosya diğer yöntemlerle benzer) adlı yeni bir boş yöntemi oluşturun.Bu örnek koddan yöntem gövdesi yapıştırın.

  • Gelen yeni bir yöntemi çağırmak için program.cs değiştirmek Main.

  • Derlemek ve sorguyu çalıştırmak için F5 tuşuna basın.

Ayrıca bkz.

Başvuru

join tümcesi (C# Başvurusu)

group tümcesi (C# Başvurusu)

Kavramlar

LINQ Sorgu İfadeleri (C# Programlama Kılavuzu)