2009-11-18 121 views
0

任何人都可以帮助我将下面的代码更改为VB .Net。将此转换为VB .Net?

var(query = From row In dtInvoice.AsEnumerable()) 
      group row by new { InvNo = row.Field<string>("InvNo"), 
      EmpUNID = row.Field<decimal>("EmployeeUNID")} into grp 
      OrderBy(grp.Key.InvNo) 
       select new 
       {       
        Key = grp.Key, 
        InvNo = grp.Key.InvNo, 
        EmpID = grp.Key.EmpUNID, 
        TotalCost = grp.Sum(r => r.Field<decimal>("TotalCost")), 
        TotalRev = grp.Sum(r => r.Field<decimal>("TotalRev")) 
       } 
+0

现在为什么你要这么做? – ChaosPandion 2009-11-18 15:40:51

回答

2

的InstantVB工具产生这样的输出:

'INSTANT VB NOTE: This code snippet uses implicit typing. You will need to set 'Option Infer On' in the VB file or set 'Option Infer' at the project level:' 

Dim query = From row In dtInvoice.AsEnumerable()) group row by New With {Key .InvNo =  row.Field(Of String)("InvNo"), Key .EmpUNID = row.Field(Of Decimal)("EmployeeUNID")} into  grp OrderBy(grp.Key.InvNo) select New 
        grp.Sum(Function(r) r.Field(Of Decimal )("TotalCost")), TotalRev = grp.Sum(Function(r) r.Field(Of Decimal)("TotalRev")) 
        grp.Key.EmpUNID, TotalCost = grp.Sum(Function(r)  r.Field(Of Decimal)("TotalCost")), TotalRev 
        grp.Key.InvNo, EmpID = grp.Key.EmpUNID, TotalCost 
        grp.Key, InvNo = grp.Key.InvNo, EmpID 
        Key = grp.Key, InvNo