【问题标题】:Linq to group by and split a datatable - VB.netLinq 分组和拆分数据表 - VB.net
【发布时间】:2013-01-24 15:23:48
【问题描述】:

我有一个数据表,我将其拆分为多个数据表。数据表内部的结构有三列

公司名称。 Emp 姓名和电话

我想将整个数据表拆分为多个数据表,每个数据表包含一家公司的所有员工。我希望我的问题在这里有意义。我知道 linq 是执行此操作的最佳方法,但我以前从未使用过 linq 并且完全不知道如何执行此操作。 有人可以指导我如何解决这个问题吗?一些代码示例将不胜感激。
谢谢

【问题讨论】:

  • 可用公司列表是静态的吗?为什么要将其拆分为 N 个数据表,您必须在另一个数组或其他东西中跟踪这些数据表? (DataTable 是指 .NET 对象System.Data.DataTable,对吧?)
  • 您是在谈论某种形式的数据库分片吗?如果是这样,这应该对您的 linq 查询保持透明。还是您想手动将每家公司分开?
  • 我想我没有很清楚。我的确切要求是我想为每个公司生成一个 excel 文件来发送它们。我认为将我的数据表(System.Data.DataTable)拆分为不同的数据表会有所帮助,因为我知道如何从数据表生成 excel 文件。还有其他方法吗?谢谢

标签: vb.net linq datatable group-by


【解决方案1】:

您可以使用以下方法将您的公司名称和数据表作为字典:

Dim dict = dataTable.AsEnumerable().GroupBy(Function(r) r.Field(Of String)("CompanyName")).ToDictionary(Function(g) g.Key, Function(g) CopyToDataTable)

【讨论】:

  • 非常感谢您的帮助。我确实想通了。我只想指出对 System.Data.DataSetExtensions 的引用,以便为正在寻找它的任何其他用户获取它。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
  • 2018-08-12
相关资源
最近更新 更多