使用linq将列转换为集合中的行

时间:2012-12-18 04:30:21

标签: vb.net linq vb.net-2010

我需要使用linq将以下列转换为行

Id  Numb1 Numb2 Numb3
100 1   2   3
200 10  20  30

 Id Numbers     Code
100 1   A
100 2   D
100 3   R
200 10  E
200 20  T
200 30  H

1 个答案:

答案 0 :(得分:2)

如果您可以硬编码哪些列将被转动,这应该可行。对于每个项目,您可以选择其数字并展平结果列表。此查询将转换为SelectMany()语句。

From item in items _
From number in { item.Numb1, item.Numb2, item.Numb3 } _
Select New Class2 With { .Id = item.Id, .Number = number }