0
我已經定義了MSSQL 2008年視圖的定義如下一個簡單的觀點:爲什麼這個Linq查詢從同一個SQL視圖返回3個相同的行?
SELECT dbo.tblCompany.CompanyID, dbo.tblAccount.Carrier, SUM(ISNULL(dbo.tblLine.LineCharge, 0)) + SUM(ISNULL(dbo.tblLine.FeatureCharge, 0))
+ SUM(ISNULL(dbo.tblLine.AccessCharge, 0)) AS SumOfCharges
FROM dbo.tblCompany LEFT OUTER JOIN
dbo.tblCompany_Location LEFT OUTER JOIN
dbo.tblAccount LEFT OUTER JOIN
dbo.tblLine LEFT OUTER JOIN
dbo.tblBill_Data ON dbo.tblLine.LineID = dbo.tblBill_Data.LineID ON dbo.tblAccount.AccountID = dbo.tblLine.AccountID ON
dbo.tblCompany_Location.LocationID = dbo.tblAccount.LocationID ON dbo.tblCompany.CompanyID = dbo.tblCompany_Location.CompanyID
GROUP BY dbo.tblCompany.CompanyID, dbo.tblAccount.Carrier
這在形式返回數據:
1 Carrier1 $70.00
1 Carrier2 $100.00
1 Carrier3 $150.00
3 Carrier2 $60.00
....etc
這工作得很好用SQL SELECT語句。
我有一個基於CompanyID設置where子句的VB linq查詢。
Dim expenses = From exp In Me.vw_CarrierExpenses _
Where exp.CompanyID = companyId _
Select exp
Return expenses.ToList()
如果我基於對1 CompanyID過濾,用上面的例子中的數據,我得到的第一個連續3次:
1 Carrier1 $70.00
1 Carrier1 $70.00
1 Carrier1 $70.00
我必須失去了一些東西很簡單的在這裏。它總是返回正確數量的行,但數據總是相同的。謝謝。