我有数据结构

对于每个项目,在每种货币的特定日期都有一个价格记录.我需要创建一个返回每种货币最新价格的查询.
此查询有效,但会Amounts为货币ID 返回多个1.它应该只返回3条记录,7,8 and 9因为它们代表该项目所有货币的最新价格.
var q = (from c in db.tblStoreItemPrices where c.ItemID == ID select new { c.CurrencyID, c.Amount });
Run Code Online (Sandbox Code Playgroud)
请忽略所有排序并假设记录是随机排序的.
谢谢你的帮助!
Jon*_*Jon 33
这应该工作:
db.tblStoreItemPrices
.Where(c => c.ItemID == ID)
.GroupBy(c => c.CurrencyID)
.Select(g => g.OrderByDescending(c => c.Date).First())
.Select(c => new { c.CurrencyID, c.Amount });
Run Code Online (Sandbox Code Playgroud)
说明:
| 归档时间: |
|
| 查看次数: |
19085 次 |
| 最近记录: |