我可以在Umbraco 7中按小组计算所有成员吗?

时间:2016-04-08 11:19:44

标签: c# umbraco umbraco7

在umbraco 7中,我想算一个特定群体的所有成员。在MemberService的docs中有方法...

.GetMembersByGroup(string role);

显然可以指望......

.GetMembersByGroup(string role).Count();

...如果我想杀死网站的性能......那就是做一个选择,加载所有成员的所有数据,然后计算它们。

我需要的是像......

.CountMembersByGroup(string role);

......我希望我只是在找错了地方。这样的事情是否存在/是否可能?

1 个答案:

答案 0 :(得分:2)

我知道没有其他方法可以做到这一点。正如@elolos所提到的,你可以按类型而不是组进行。如果你真的只想要一个组和计数列表,那么最好只编写自己的SQL来进行查询。获取所需原始数据的SQL语句如下:

SELECT cmsMember.*, umbracoNode.text AS [groupName] FROM cmsMember
INNER JOIN cmsMember2MemberGroup ON cmsMember.nodeId = cmsMember2MemberGroup.Member
INNER JOIN umbracoNode ON cmsMember2MemberGroup.MemberGroup = umbracoNode.id

您可以修改它以进行计数等。