LINQ:结果的类型是什么?

时间:2009-05-05 12:41:47

标签: linq

我可以从类型化数据集中进行简单的选择:

var productlist = from prds in dsProducts.sk_products.AsEnumerable()
                          join prdcat in dsProducts.sk_productscategories.AsEnumerable() on prds.Field<int>("productid") equals prdcat.Field<int>("productid") where prdcat.Field<int>("categoryid") == categoryid
                          select prds;

其中productlist是数据集的sk_products数据表中的记录集。 我想写一个函数来更多地过滤记录,在其中一个列上有一个独特的:

 public List<string, string> GetDistinctManufacturerList(? productlist, int manufacturerid)
    {
       manufacturers = from prdz in productlist where prdz.Field<int>("manufacturerid") == manufacturerid select prdz; [...]
    }

我应该使用什么类型的对象来引用变量 productlist

3 个答案:

答案 0 :(得分:2)

其IEnumberable&lt; 选择的数据类型&gt; - 选定的数据类型可以是匿名类型,或者在这种情况下,将是您的数据集类型类。

答案 1 :(得分:1)

我猜想像IEnumerable<Product>这样的东西。而作为ck says,Product是LINQ数据类的名称。

答案 2 :(得分:0)

在你的第一个例子中...鼠标悬停在Visual Studio中的单词“var”,它将显示“Type”。

如果它类似'anonymouse {blahblah}'那么你可能需要创建一个你想要转换它的类,以便你可以将它用作函数参数。