2
我有這個有效查詢(在.Net4.0)是可以獲得還是開的發票:.net 3.5中的這個查詢的等價物是什麼?
Dim dinvs = AcStudentInvoiceDetails _
.GroupBy(Function(di) di.InvoiceID) _
.Select(Function(di2) New With { _
.InvoiceID = di2.Key, _
.DebitSum = di2.Sum(Function(di3) di3.Debit), _
.CreditSum = di2.Sum(Function(di3) di3.Credit) }) _
.Where(Function(dd) dd.DebitSum > dd.CreditSum)
Dim invs = From i In AcStudentInvoices _
Join di In dinvs On i.ID Equals di.InvoiceID _
Select i
我測試了LinqPad此查詢,它得到正確的結果,但LinqPad工作在淨4.0,並且我的項目在.Net3.5上工作,錯誤在於我們有一個匿名對象,並且.Net3.5,Where
不能使用匿名對象。
我試圖創建一個強類型的類,而不是匿名的對象,但我失去了我的LINQ的語法,所以我需要在.NET3.5
錯誤文本摘錄此查詢等價物:
重載決策失敗,因爲沒有可訪問的「去哪兒」可以用這些參數調用:
擴展方法「公共功能位置(謂語System.Linq.Expressions.Expression(中System.Func(中<匿名類型>,Integer,Boolean)))作爲System.Linq.IQueryable('<匿名類型>)'在'System.Linq.Queryable'中定義:嵌套函數不具有與委託'System.Func的<匿名類型>,整型,布爾型)」 ......