使用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));
答案 0 :(得分:1)
在C#中,lambda表达式通常用作函数。即:
tableAdapter.Fill(myDataSet.CUSTOMER.Where(c => c.LastName == "Smith"));
答案 1 :(得分:1)
Where
方法可用于过滤集合的内容。但是在你的情况下,你使用表适配器来填充空DataTable
,并且在空集合上调用Where只会产生一个空序列......并且表适配器不知道如何解释{{ 1}}调用,它只是使用它的SelectCommand来填充表格。因此,您无法使用Linq来定义要在表中加载的数据。但是,一旦您的表格填满,您就可以使用Where
来过滤结果,例如:
Where