4

我有这个 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 的元素数量?

谢谢。

4

3 回答 3

6

你真的需要回来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();

于 2009-10-14T09:58:20.663 回答
2

lTax.Count() 应该这样做...

于 2009-10-14T09:59:10.240 回答
0

首先将 lTax 声明为List,所以可以有.Count()

然后,您可以根据需要将其更改为 QueryablelTax.AsQueryable()

于 2009-10-14T10:07:37.117 回答