NHibernate / LINQ:如何编写这个JOIN查询?

时间:2012-08-31 07:44:04

标签: c# nhibernate join linq-to-nhibernate

我得到了一个与实体F有多对多关系的实体E. 现在我想要计算与F的某个实例相关的E的所有实例。

在旧的HQL时代,我使用了以下查询:

select count(*) from E e inner join e.fCollection f where f.id = :id

:id是相关F实例的主键。 e.fCollection是包含所有F实例的集合,e与。

相关

使用NH-to-LINQ,似乎无法加入fCollection。

有什么想法吗? :) 提前谢谢

1 个答案:

答案 0 :(得分:2)

试试这个:

e.Count(x => x.fCollection.Any(y => y.id == id));

这将返回至少一个具有指定ID的集合项的e个数 如果您想要具有指定ID的集合项数,请使用:

e.fCollection.Count(x => x.id == id);