c# - 知道 Iqueryable 的元素数量

标签 c# linq iqueryable

我有这个 Linq 查询

public IQueryable listAll()
{   
    ModelQMDataContext db = new ModelQMDataContext(); 
    IQueryable lTax = from t
                      in db.tax
                      select new {Tax = t.tax1, Increase = t.increase};
    return  lTax;
}  

如何知道 lTax 的元素个数?

谢谢。

最佳答案

你真的需要返回IQueryable ?返回IQueryable从您的方法中没有提供太多功能,因为您无法在没有反射的情况下访问匿名类型的成员。在这种情况下,我建议您在查询中创建一个具体类型,以便能够返回 IQueryable<T> :

class TaxIncrease
{
    public int Tax { get; set; }
    public int Increase { get; set; }
}

public IQueryable<TaxIncrease> listAll() {
    ModelQMDataContext db = new ModelQMDataContext();
    return from t in db.tax
           select new TaxIncrease {Tax = t.tax1, Increase = t.increase};
}

然后你可以做:

listAll().Count();

关于c# - 知道 Iqueryable 的元素数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1565322/

相关文章:

c# - 在 Azure 中删除表行时出现 404 错误

c# - Linq 查询列表包含具有相同顺序的列表

c# - EF Core 条件(添加)包含到 IQueryable

c# - 如何在表达式树中实例化和初始化动态对象?

c# - 获取标记特定属性的所有属性

c# - 以编程方式确定锁定工作站的持续时间?

c# - 如何在多个项目中使用扩展方法。

c# - List.Cast<> 错误 "is a method which is not valid in the given context"

c# - Distinct 在 Entity Framework 上不起作用

c# - 使用表达式树创建完全动态的 where 子句并在 IQueryable 上执行