LINQ查询从一个表然后另一个表中检索

时间:2013-01-07 20:32:56

标签: c# linq linq-to-sql

我有2个包含相同字段的表, 例如idnameinvoiceNo ..等

我想使用c#ling从两个表中获取所有数据

我有以下1个表的示例,如何添加第二个表?

 return query = from tb1 in dataContext.tbl1
                    select new customer
                    {
                       name= tbl1.name
                    };

2 个答案:

答案 0 :(得分:1)

一旦有两个相同类型的序列,就可以使用Concat

return dataContext.tbl1.Select(tb1 => new customer()
{
    name = tb1.name,
})
.Concat(dataContext.tbl2
    .Select(tb2 => new customer()
    {
         name = tb2.name,
    }));

您可以对select调用使用查询语法,但在这种特殊情况下我发现方法语法更为可取。

答案 1 :(得分:1)

您可以使用UnionConcat

query1 = from tb1 in dataContext.tbl1
                select new customer
                {
                   name= tbl1.name
                };

query2 = from tb2 in dataContext.tbl2
                    select new customer
                    {
                       name= tbl1.name
                    };

var resQuery = query1.Union(query2);

Concat类似。 UnionConcat之间的主要区别在于Union会从结果中删除重复项。