【发布时间】:2010-11-22 17:21:06
【问题描述】:
我正在寻找一些帮助,将以下 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) 函数应用于每个基金需要应用的单位表 - 因此相关子查询。
谢谢
【问题讨论】: