【发布时间】:2011-08-31 16:46:00
【问题描述】:
有没有办法使用 Linq to NHibernate 一次选择多个总和?
现在我有
int? wordCount = (from translation in session.Query<TmTranslation>()
where translation.SatisfiesCondition
select translation.TranslationUnit)
.Sum(x => (int?)(x.WordCount + x.NumberCount)) ?? 0;
int? tagCount = (from translation in session.Query<TmTranslation>()
where translation.SatisfiesCondition
select translation.TranslationUnit)
.Sum(x => (int?)(x.TagCount)) ?? 0;
int? characterCount = (from translation in session.Query<TmTranslation>()
where translation.SatisfiesCondition
select translation.TranslationUnit)
.Sum(x => (int?)(x.CharacterCount)) ?? 0;
生成三个不同的 SQL 查询。在 SQL 中,我可以一次获取所有三个,但有没有办法在 Linq to NHibernate 中做到这一点?
谢谢。
【问题讨论】:
-
您是想要一次查询中的 3 个总和还是一次将所有 3 个查询发送到服务器?无论哪种方式,QueryOver 都绝对可以实现。
-
@dotjoe 那太好了,请问您有一些示例吗?我使用QueryOver写了一些查询,但是当我需要更复杂的东西时,我通常会发现它非常复杂,官方文档也没有太大帮助。
-
@dotjoe 为了回答你的问题,我打算在一个查询中得到所有 3 个总和。
标签: sql nhibernate linq-to-nhibernate