0

我有以下示例列

ID  Comment    Analyzer  Incubator    Deanalyzer
--  -------    -------   ---------    ----------
23  Need Fast  5.6                    8.7

我需要显示结果是 ID、评论,然后是有多少列有值的计数。所以在这种情况下,计数将是 2,因为只有 Analyzer 和 Deanalyzer 有值。这是我到目前为止所拥有的:

    var result = from tb in db.Reports
    where tb.Id == 23
    select new { ID = tb.ID, 
                 Comments = tb.Comments,
                 Count = .. 

                } 
4

1 回答 1

1

它不干净,但你可以这样做:

var result = from tb in db.Reports
where tb.Id == 23
select new { ID = tb.ID, 
             Comments = tb.Comments,
             Count = (tb.Analyzer!= null ? 1 : 0) + (tb.Incubator != null ? 1 : 0) + (tb.Deanalyzer!= null ? 1 : 0)

            }

如果您有很多列,我不会使用它。

于 2012-10-02T14:09:03.407 回答