2012-04-28 20 views
42

LINQ TO SQL'de sendika nasıl kullanılır? Sendika için aşağıdaki kodu kullanıyorum, sonra sendika için nasıl kullanılır?LINQ'da sendika nasıl kullanılır?

List<tbEmployee> lstTbEmployee = obj.tbEmployees.ToList(); 
List<tbEmployee2> lstTbEmployee2 = (from a in lstTbEmployee 
            select new tbEmployee2 
            { 
             eid = a.eid, 
             ename = a.ename, 
             age = a.age, 
             dept = a.dept, 
             doj = a.doj, 
             dor = a.dor 

            }).Union(obj.tbEmployee2s).ToList(); 
+3

'kabul' olarak Jon Crowell cevabını işaretlemelisiniz – arviman

cevap

87

Concat SQL UNION ALL arasında LINQ eşdeğerdir.

Union ve Concat'un nasıl kullanıldığını göstermek için LINQPad'de basit bir örnek hazırladım. LINQPad yoksa, alın.

Bu set işlemleri için farklı sonuçlar görebilmek için, birinci ve ikinci veri kümelerinin en azından bir miktar çakışması olmalıdır. Aşağıdaki örnekte, her iki takım "değil" sözcüğünü içerir.

LINQPad ürününü açın ve Dil açılır listesini C# Deyim (ler) e ayarlayın. Bunu Sorgu bölmesine aşağıdaki yapıştırın ve çalıştırın:

string[] jedi = { "These", "are", "not" }; 
string[] mindtrick = { "not", "the", "droids..." }; 

// Union of jedi with mindtrick 
var union = 
    (from word in jedi select word).Union 
    (from word in mindtrick select word); 

// Print each word in union 
union.Dump("Union"); 
// Result: (Note that "not" only appears once) 
// These are not the droids... 

// Concat of jedi with mindtrick (equivalent of UNION ALL) 
var unionAll = 
    (from word in jedi select word).Concat 
    (from word in mindtrick select word); 

// Print each word in unionAll 
unionAll.Dump("Concat"); 
// Result: (Note that "not" appears twice; once from each dataset) 
// These are not not the droids... 

// Note that union is the equivalent of .Concat.Distinct 
var concatDistinct = 
    (from word in jedi select word).Concat 
    (from word in mindtrick select word).Distinct(); 

// Print each word in concatDistinct 
concatDistinct.Dump("Concat.Distinct"); 
// Result: (same as Union; "not" only appears once) 
// These are not the droids... 

LINQPad sonuç şuna benzer:

enter image description here