代码之家  ›  专栏  ›  技术社区  ›  Kb.

扩展where()的帮助(此IEnumerable<customerRow>源,func<customerRow,bool>谓词)

  •  0
  • Kb.  · 技术社区  · 16 年前

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

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

    where()扩展的参数:

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

    应在其中使用委托的代码段:

    StronglyTypedDataSet myDataSet = new StronglyTypedDataSet();
    
    CUSTOMERTableAdapter tableAdapter = new CUSTOMERTableAdapter();
    tableAdapter.Fill(myDataSet.CUSTOMER.Where(newfunctionhere));
    
    2 回复  |  直到 16 年前
        1
  •  1
  •   Thomas Levesque    16 年前

    这个 Where 方法可用于筛选集合的内容。但是在您的案例中,您使用一个表适配器来填充一个空的 DataTable ,调用空集合的where只会生成一个空序列…表适配器不知道如何解释 在哪里? 调用时,它只使用select命令填充表。因此,不能使用LINQ定义要在表中加载哪些数据。但是一旦你的桌子满了,你就可以用 在哪里? 要筛选结果,请执行以下操作:

    var rows = myDataSet.CUSTOMER.AsEnumerable().Where(cr => cr.SomeProperty == someValue);
    
        2
  •  1
  •   Matthew Sposato    16 年前

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

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