gpt4 book ai didi

nhibernate - 如何使用 Fluent-nhibernate 将集合计数映射到实体

转载 作者:行者123 更新时间:2023-12-03 06:53:44 26 4
gpt4 key购买 nike

对于员工和下属 - 我想在一个查询中加载一名员工的下属数量。

public class Employee
{
public Name {get;set;}
public int NumberOfSubordinates {get;set;}
}

生成的 SQL 应如下所示:

select e.name, (select count(*) from subordinate s where s.employee_id = e.id) NumberOfSubordinates
from employee e
group by e.name
order by NumberOfSubordinates desc

最佳答案

您可以将此列映射为公式。

Map(x => x.NumberOfSubordinates)
.FormulaIs(@"select count(*) from subordinate where subordinate.employee_id = id");

另一种方法是将下属映射为逆袋并使用lazy="extra"。在这种情况下,Subscribeds.Count 将执行 SQL count(*),但不是作为初始加载的一部分。这种方法在 Fluent 中可能尚不可用。

关于nhibernate - 如何使用 Fluent-nhibernate 将集合计数映射到实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2300762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com