我正在尋找一些幫助將以下SQL查詢轉換爲LINQ到C#中的實體。將SQL查詢(與相關子查詢)轉換爲LINQ在C#
SELECT f.FundId, u.UnitValue
FROM Fund f
INNER JOIN FundUnit u ON f.FundId= u.FundId
WHERE u.EffectiveDate = (SELECT MAX(effectivedate)
FROM FundUnit k
WHERE u.FundId = k.FundId)
AND f.Active = 1
ORDER BY f.FundId
該查詢讀取數據庫中的所有活動資金及其最新單位值。基金錶中包含每個基金的記錄。 FundUnit表格包含每個日期每個基金的單位價值記錄。先前日期的單位值也保留在表格中以保留歷史記錄。
並非所有基金每天都會獲得新的單位價值,因此所有基金的最新生效日期不一定相同。因此,需要將max(effectivedate)函數應用於需要針對每個基金應用的單位表 - 因此是相關的子查詢。
感謝
對不起,我看到它是linq的實體。相同的原則適用:http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx – Kell 2010-11-22 17:26:41