.net 如何退还额外费用;“空白”;基于linq中返回结果的行?
有没有办法将以下两个LINQ组合起来?我尝试过使用.net 如何退还额外费用;“空白”;基于linq中返回结果的行?,.net,vb.net,linq,.net,Vb.net,Linq,有没有办法将以下两个LINQ组合起来?我尝试过使用Union方法 dim result = query2.Union(query3).ToList() 但我有一个错误 无法强制转换类型为的对象 '其中选择EnumerableInterator2[VB$AnonymousType_43[System.Object,System.Object,System.Collections.Generic.IEnumerable` 我只想在query2中的每个返回行都有一个额外的空行,所以如果query2
Union
方法
dim result = query2.Union(query3).ToList()
但我有一个错误
无法强制转换类型为的对象
'其中选择EnumerableInterator2[VB$AnonymousType_4
3[System.Object,System.Object,System.Collections.Generic.IEnumerable`
我只想在query2中的每个返回行都有一个额外的空行,所以如果query2返回两行,那么应该有两个空行,我已经尝试在query2中使用union添加另一个select,但收到错误消息
Dim query2 = (From e In dsSummary.Tables(0).AsEnumerable()
Group e By
DistNum = e("DistNum"),
DistName = e("DistName")
Into Group
Select New With {
.DistNum = DistNum,
.DistName = DistName,
.EventName = "Distributor Number Total",
.DiscountTotal = Group.Sum(Function(x) x.Field(Of Decimal)("DiscountTotal")).ToString("C2"),
.NetTotal = Group.Sum(Function(x) x.Field(Of Decimal)("NetTotal")).ToString("C2"),
.SummaryRow = "Y"
})
Dim query3 = (From e In dsSummary.Tables(0).AsEnumerable()
Group e By
DistNum = e("DistNum"),
DistName = e("DistName")
Into Group
Select New With {
.DistNum = DistNum,
.DistName = "",
.EventName = "Distributor Number Total",
.DiscountTotal = 0.ToString("C2"),
.NetTotal = 0.ToString("C2"),
.SummaryRow = "Z"
})
如果只想在末尾添加“空行”,则查询中的每一行对应一行:
Dim emptyRows = From x In query2
Select New With {.DistNum = "", .DistName = "", .EventName = "", .DiscountTotal = "", .NetTotal = "", .SummaryRow = ""}
Dim resultList = query2.Concat(emptyRows).ToList()
如果不希望将它们添加到末尾,而是使用
SummaryRow
进行排序,请将OrderBy
放在ToList()之前
这是Linq-to-Objects()你想在末尾添加空白行吗?它可以是任何地方,因为我有一个字段称为摘要行,我将用它来排序和放置空白行在正确的地方。使用Quer2.2. Concat(Quer3)用于列表合并