我正在尝试使用LinqToExcel解决问题,我遇到了一些问题。我们得到这个excel文件,它告诉我们将收到的产品。我需要读取该文件并将更新保存到数据库中。一切都很好,除非我们在文件中获得具有相同partNumber的2条记录。要求是在将记录保存到数据库之前合并记录。如果我可以使用“group by”,我可以将数量相加,但显然我不能用LinkToExcel进行分组,所以有人可以给我一些关于如何解决这个问题的提示吗?
var product = from x in book.Worksheet("FormularyImport")
group by x.InternalPN into g_pn
select g_pn.First().InternalPN, g_pn.First().Name, g_pn.Sum(x => x.Qty);
foreach (string product in product)
{
//Here I want to iterate through each product, and persist the imported data to the database.
}
答案 0 :(得分:3)
如果先将其转换为内存列表,则可以使用group by。
var product = from x in book.Worksheet("FormularyImport").ToList()
group by x.InternalPN into g_pn
select g_pn.First().InternalPN, g_pn.First().Name, g_pn.Sum(x => x.Qty);
foreach (string product in product)
{
//Here I want to iterate through each product, and persist the imported data to the database.
}
请注意ToList()
Worksheet("FormularyImport")
来电