我有一个由XSD.EXE生成的类,称为workOrders
。类有一个类型为workOrdersWorkOrder[]
的成员Items
。我想用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();
但是,在这种情况下,我不知道如何进行跳转。
谢谢
如果我理解正确的话,我认为你需要这样的东西:
labels =
new workOrders
{
Items = result.Select(o => new workOrder
{
number = o.WorkOrder,
Part = o.Part,
Col3 = o.Col3,
Qty = o.Quantity.ToString()
}).ToArray()
};
你几乎是对的…
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
中有一个项目,但这可能是正确的。