【发布时间】:2012-03-21 12:41:47
【问题描述】:
我有一个大约有 15 个不同字段的表,其中一些是 JobID(整数字段)、Cost(整数字段)和 LastUpdated(日期时间字段)
JobID 成本 LastUpdated 1 10 2011 年 7 月 10 日 1 15 2011 年 6 月 11 日 2 25 2011 年 5 月 5 日 1 15 2011 年 4 月 12 日是否可以编写一个 LINQ 查询来获取作业 id = 1 的成本总和以及产生此类成本的最后日期?
上面示例数据的示例查询输出如下所示:
40 , 10-july-2011
目前我正在使用这样的两个不同的 linq 查询来执行此操作,在这种特殊情况下,会导致网站对数据库的两次点击。
//for last updated
(from row in MyTable where row.JobID == 1
orderby row.LastUpdated descending
select row.LastUpdated).First()
//for sum of cost
(from row in MyTable
where row.JobID == 1
select row.Cost).Sum()
在这种情况下,一个 linq 查询会更好吗?在整个页面加载过程中,类似的情况会导致对数据库的多次点击,总共约 18 次,对 9 个不同的表。在一个查询中结合总和和 LastUpdated 日期时,我试图将命中数减少到 9,每个表一个。
感谢您的宝贵时间...
【问题讨论】:
标签: .net linq entity-framework linq-to-entities