帮助扩展名Where()(此IEnumerable <customerrow> source,Func <customerrow,bool =“”>谓词)</customerrow,> </customerrow>

时间:2009-12-16 17:03:45

标签: c# .net oracle odp.net

使用Oracle®DataProvider for .NET生成强类型数据集。

我当然可以填充整个表格,但我想学习如何使用带有委托函数的Where()扩展,该委托函数应该根据某些表值限制收集的行数。

Where()扩展名的参数:

(this IEnumerable<CUSTOMERRow> source, Func<CUSTOMERRow, bool> predicate)

应使用代理人的代码段:

StronglyTypedDataSet myDataSet = new StronglyTypedDataSet();

CUSTOMERTableAdapter tableAdapter = new CUSTOMERTableAdapter();
tableAdapter.Fill(myDataSet.CUSTOMER.Where(newfunctionhere));

2 个答案:

答案 0 :(得分:1)

在C#中,lambda表达式通常用作函数。即:

tableAdapter.Fill(myDataSet.CUSTOMER.Where(c => c.LastName == "Smith"));

答案 1 :(得分:1)

Where方法可用于过滤集合的内容。但是在你的情况下,你使用表适配器来填充空DataTable,并且在空集合上调用Where只会产生一个空序列......并且表适配器不知道如何解释{{ 1}}调用,它只是使用它的SelectCommand来填充表格。因此,您无法使用Linq来定义要在表中加载的数据。但是,一旦您的表格填满,您就可以使用Where来过滤结果,例如:

Where