我有一个名为workOrders
的XSD.EXE生成的类。该类的成员Items
的类型为workOrdersWorkOrder[]
。我想用LINQ填充workOrders
。
我不知道如何正确填充我的Items成员。这是我需要帮助的地方:
labels = result.AsEnumerable()//labels is of type workOrders
.Select(o => delegate()
{
new workOrders
{
new Items
{
number = o.WorkOrder,
Part = o.Part,
Col3 = o.Col3,
Qty = o.Quantity.ToString()
}
};
}).ToList();
请注意,此代码不起作用,可能很有用。我这样写是为了尝试传达我想做的事情。
在更简单的情况下(没有成员数组)我已经能够通过
执行此操作.Select(o => new workOrder
{
number = o.WorkOrder,
Part = o.Part,
Col3 = o.Col3,
Qty = o.Quantity.ToString()
}).ToList();
但是,在这种情况下,我不知道如何跳跃。
由于
答案 0 :(得分:2)
如果我理解正确,我认为你需要更像这样的东西:
labels =
new workOrders
{
Items = result.Select(o => new workOrder
{
number = o.WorkOrder,
Part = o.Part,
Col3 = o.Col3,
Qty = o.Quantity.ToString()
}).ToArray()
};
答案 1 :(得分:1)
你几乎是对的...以下可能有效:
labels = (from item in result.AsEnumerable()//labels is of type workOrders
select new workOrders
{
Items = new workOrdersWorkOrder[]
{
{
number = item.WorkOrder,
Part = item.Part,
Col3 = item.Col3,
Qty = item.Quantity.ToString()
}
}
}
}).ToList();
没试过但它可以工作:)。此外,它取决于您拥有的数据以及您期望的结果。我上面的代码将创建一个workOrders
列表,其中每个对象在列表Items
中都有一个项目,但这可能是正确的。