NHibernate标准可以统计独特的访问量

时间:2014-01-29 07:53:55

标签: c# nhibernate

我有两张桌子,对于这个例子,我将是Vists和Cities。

访问

  • UserAccountID(映射到UserAccount属性)
  • CityID(映射到城市物业)
  • VisitDate

城市

  • CityID
  • 名称

我想写一个标准,它会返回特定用户访问过的不同城市的数量。

到目前为止,我有:

       return this.Framework.GetSession().CreateCriteria<Visits>()
            .Add(Restrictions.Eq("UserAccount", user))
            .SetProjection(Projections.Count(Projections.Id()))
            .UniqueResult<int>();

但是当我有一位访问过的用户时:

  • 伦敦
  • 曼彻斯特
  • 利兹
  • 伦敦

此查询将返回4,我是在访问过的不同城市数量之后(在本例中为3)。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用Projections.GroupProperty("CityID") (official documentation)?它应该能够达到您想要的效果。

question也可能有用。