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:
'kabul' olarak Jon Crowell cevabını işaretlemelisiniz – arviman