【问题标题】:Anonymous count with nhibernate criteria?具有休眠标准的匿名计数?
【发布时间】:2010-10-25 17:52:13
【问题描述】:

是否可以使用 nhibernate 创建匿名计数?

以下查询引发异常“No column *”。 我当然可以添加列名,但我不想这样做,因为如果这样做,我将不得不查找 95 个表的列名...

NHibernate.Criterion.DetachedCriteria dcIsUniqueDomainname = NHibernate.Criterion.DetachedCriteria.For<nhDBapi.Tables.clsDomains>()
               .SetProjection(
                   NHibernate.Criterion.Projections.Count("*")
               )
               .Add(NHibernate.Criterion.Property.ForName("DomainID").Eq(strDomainID))
               .Add(NHibernate.Criterion.Property.ForName("DomainName").Eq(strDomainName)
           );

【问题讨论】:

    标签: sql nhibernate detachedcriteria nhibernate-criteria


    【解决方案1】:

    您正在寻找Projections.RowCount()

    【讨论】:

    • 为什么 NHibernate.Criterion.Projections.RowCount() 的类型需要是 int32?当我使用 long (int64) 时它失败了......我的意思是显然可以有超过 2^32 行,不是吗?当它由于溢出或其他原因返回负数时,这有点讽刺......
    • +1,而 RowCount 默默地是 int32... 我想知道为什么它不能从 int32 转换为 long,唯一的问题应该是反之...
    • 可以使用 Convert.ToInt64 将 RowCount 投影的结果转换为 long;它只是没有多大意义。
    猜你喜欢
    • 1970-01-01
    • 2011-06-23
    • 2011-10-23
    • 1970-01-01
    • 2011-10-09
    • 2012-12-24
    • 1970-01-01
    相关资源
    最近更新 更多