如何在linq lambda表达式中添加条件

时间:2016-02-25 05:37:24

标签: sql-server linq linq-to-sql

如何为此数据表计数添加条件,如果count为空或具有某个值,它只会返回结果?

DataTable count = dtAll.AsEnumerable().
     Where(row => row.Field<Int32>("parentCategory") == 0).
     CopyToDataTable();

1 个答案:

答案 0 :(得分:0)

  

有没有办法可以获得dtAll.AsEnumerable().Where(row => row.Field("parentCategory") == 0);

的计数

您可以使用Count()Any()

DataTable count =  new DataTable();
var res = dtAll.AsEnumerable().Where(row => row.Field("parentCategory") ==  0);

例如:

if(res.Count() > 0)
{
  count = res.CopyToDataTable();
}

if(res.Any())
{
  count = res.CopyToDataTable();
}

我更喜欢使用Any(),因为它已经返回了一个布尔值。