假设我有两个实体Foo
,Bar
其中Foo
has-manyBar
的,
class Foo {
int ImportantNumber { get; set; }
IEnumerable<Bar> Bars { get; set; }
}
class FooDTO {
Foo Foo { get; set; }
int BarCount { get; set; }
}
如何使用单个查询有效地总结 DTO中Bars
per的数量,最好仅使用 Criteria 接口。Foo
我尝试了多种方法来使用“SetProjection”从查询中获取原始实体,但没有运气。目前的理论是做类似的事情
SELECT
Foo.*, BarCounts.counts
FROM
Foo LEFT JOIN
( SELECT fooId, COUNT(*) as counts FROM Bar GROUP BY fooId ) AS BarCounts
ON Foo.id=BarCounts.fooId
但是有了标准,我似乎无法弄清楚如何。