2009-11-18 146 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