Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何退还额外费用;“空白”;基于linq中返回结果的行?_.net_Vb.net_Linq - Fatal编程技术网

.net 如何退还额外费用;“空白”;基于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

有没有办法将以下两个LINQ组合起来?我尝试过使用
Union
方法

dim result = query2.Union(query3).ToList() 
但我有一个错误

无法强制转换类型为的对象 '其中选择EnumerableInterator
2[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)用于列表合并