Sql LINQ聚合/和分组问题
我很难理解如何将传统的SQL聚合查询转换为LINQ查询。基本数据转储的工作原理如下:Sql LINQ聚合/和分组问题,sql,vb.net,linq,aggregate,sum,Sql,Vb.net,Linq,Aggregate,Sum,我很难理解如何将传统的SQL聚合查询转换为LINQ查询。基本数据转储的工作原理如下: Dim result = (From i As Models.InvoiceDetail In Data.InvoiceDetails.GetAll Join ih As Models.InvoiceHeader In Data.InvoiceHeaders.GetAll On i.InvoiceHeaderID Equals ih.ID Join p As Models.Pro
Dim result =
(From i As Models.InvoiceDetail In Data.InvoiceDetails.GetAll
Join ih As Models.InvoiceHeader In Data.InvoiceHeaders.GetAll On i.InvoiceHeaderID Equals ih.ID
Join p As Models.Product In Data.Products.GetAll On i.ProductID Equals p.ID
Join pg As Models.ProductGroup In Data.ProductGroups.GetAll On p.ProductGroupID Equals pg.ID
Join gl As Models.GLAccount In Data.GLAccounts.GetAll On pg.GLAccountSellID Equals gl.ID
Where (gl.ID = GLID)
Select ih.Period,i.ExtendedValue)
我真正需要得到的是I.Period(从1到12的值)和I.ExtendedValue的相应聚合值。当我尝试对ih进行分组时,我会发现一些错误,比如我超出了范围/上下文,我不确定如何进行分组。为了简单起见,请尝试将其有效地拆分为两个不同的查询。例如:
From result In
(From i As Models.InvoiceDetail In Data.InvoiceDetails.GetAll
Join ih As Models.InvoiceHeader In Data.InvoiceHeaders.GetAll On i.InvoiceHeaderID Equals ih.ID
Join p As Models.Product In Data.Products.GetAll On i.ProductID Equals p.ID
Join pg As Models.ProductGroup In Data.ProductGroups.GetAll On p.ProductGroupID Equals pg.ID
Join gl As Models.GLAccount In Data.GLAccounts.GetAll On pg.GLAccountSellID Equals gl.ID
Where (gl.ID = GLID) And (ih.FinancialYear = FinancialYear)
Select ih.Period, i.ExtendedValue)
Group By result.Period Into Sum(result.ExtendedValue)