除了使用LINQ的一些汇总列之外,还要选择所有列

时间:2014-03-28 06:30:01

标签: c# linq linq-to-sql

假设有一个包含超过20列的表:(col1, col2, ... )

如果我想显示col1col2以及其他列的总和, 在SQL中我可以:

SELECT (col1+col2), * FROM table1;

但在LINQ中,我必须

from tb in table1
select new
{
  sum = tb.col1 + tb.col2,
  col1 = tb.col1,
  col2 = tb.col2,
  ...
};

还有其他更简单的方法吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您可以通过tb属性扩展sum实体的类型,并编写如下内容:

table1
    .Select(tb => new 
    {
        Tb = tb,
        Sum = tb.col1 + tb.col2
    })
    .Select(x =>
    {
        x.Tb.sum = x.Sum;
        return x.Tb;
    });