合并两个查询的结果

时间:2012-05-18 10:57:09

标签: asp.net vb.net linq

我正在提出两个问题:

Dim worker = (From p in db.workers where p.dateAdded > today 
                   select new with{.name = p.name, .desc = p.description})

Dim client = (From p in db.clients where p.dateAdded > today 
                   select new with{.name = p.name, .desc = p.description})

如何将这两个查询合并为只有一个我可以用作DataSource

4 个答案:

答案 0 :(得分:2)

尝试这样的事情

   Dim Merged = (From p in db.workers where p.dateAdded > today 
                       select new with{.name = p.name, .desc = p.description})
                 .Union
                 (From p in db.clients where p.dateAdded > today 
                       select new with{.name = p.name, .desc = p.description})

答案 1 :(得分:1)

如果想获得截然不同的结果,请使用Distinct

var merged = worker.Concat(client).Distinct();

var mergedList = worker.Union(client).ToList();

答案 2 :(得分:0)

使用提供预期结果的Union

请查看Return the Set Union of Two Sequences (LINQ to SQL)

答案 3 :(得分:0)

您能指定您想要做什么吗?
1。将结果合并为一组 - 如果是,则可以使用huMpty duMpty's提案
2。如果你想用带有Linq查询的两个DataTables做类似于DataSet的事情,我不确定这是否可以实现。

希望这有帮助!