查询数据集以获取计数

本文关键字:获取 数据集 查询 | 更新日期: 2024-11-05 02:23:52

如何获取计数

var resHT = from row in ds.Tables[1].AsEnumerable()
            where row.Field<int>("a") == Convert.ToInt32(a.Value) && row.Field<int>("b") == 1
            select new {
                        TypeDescription = row.Field<string>("c"),
                        NameOrSpecs = row.Field<string>("d"),
                        AvailabilityBy = row.Field<DateTime?>("e")
                        };

我如何获取 resHT 的计数。我对 linq 有点陌生

查询数据集以获取计数

var count = resHT.ToList().Count();

通过使用 new 命令执行Select,可以有效地创建匿名类型的IQueryable。 我不知道为什么代码在没有ToList()的情况下出错的确切原因,但是添加ToList()会将您的返回数据转换为匿名类型的ListList类上有一个 count 属性,所以这就是为什么我让你做一个ToList.

我确实知道,如果您执行 LINQ-to-SQL,ToList会强制查询实际执行,然后拉取所有匹配的数据并创建匿名类型,然后可以对其进行计数。 如果您正在使用内存DataTable,我不确定为什么它需要它才能工作。 我没有对 DataTable 做太多的 LINQ,所以我没有经常使用它。