C# Nhibernate 3.0:未来的问题<&燃气轮机;和对联接表的限制

C# Nhibernate 3.0:未来的问题<&燃气轮机;和对联接表的限制,c#,nhibernate,C#,Nhibernate,我想不出nHibernate有什么问题。 我的领域很简单。由于我的大部分数据都显示在分页网格(jqGrid)中,因此我需要使用Future来获取总行数。 如果我在这里运行这段代码,它将正常工作: ICriteria FiltersCriteriaCount = session.CreateCriteria<Domain.Reminder>(); ICriteria FiltersCriteria = session.CreateCriteria<Domain.Reminder&

我想不出nHibernate有什么问题。 我的领域很简单。由于我的大部分数据都显示在分页网格(jqGrid)中,因此我需要使用Future来获取总行数。 如果我在这里运行这段代码,它将正常工作:

ICriteria FiltersCriteriaCount = session.CreateCriteria<Domain.Reminder>();
ICriteria FiltersCriteria = session.CreateCriteria<Domain.Reminder>();

var TotalRecords = FiltersCriteriaCount
    .SetProjection(Projections.RowCount())
    .FutureValue<Int32>();

var sResult = FiltersCriteria
    .CreateAlias("Company", "Company")
    .CreateAlias("PlanType", "PlanType")
    .CreateAlias("OperationsManager", "OperationsManager")
    .CreateAlias("Schedules", "Schedules", NHibernate.SqlCommand.JoinType.LeftOuterJoin)
    .SetFirstResult(0)
    .SetMaxResults(100)
    .Future<Domain.Reminder>()
    .ToList<Domain.Reminder>();
如果我摆脱了Future并像这样转换我的代码,一切都会很好:

ICriteria FiltersCriteria = session.CreateCriteria<Domain.Reminder>();
FiltersCriteria.Add(Restrictions.Eq("Schedules.Notes", ""));

var sResult = FiltersCriteria
    .CreateAlias("Company", "Company")
    .CreateAlias("PlanType", "PlanType")
    .CreateAlias("OperationsManager", "OperationsManager")
    .CreateAlias("Schedules", "Schedules", NHibernate.SqlCommand.JoinType.LeftOuterJoin)
    .SetFirstResult(0)
    .SetMaxResults(100)
    .List<Domain.Reminder>();
ICriteria FiltersCriteria=session.CreateCriteria();
FiltersCriteria.Add(Restrictions.Eq(“Schedules.Notes”和“));
var sResult=FiltersCriteria
.CreateAlias(“公司”、“公司”)
.CreateAlias(“PlanType”、“PlanType”)
.CreateAlias(“OperationsManager”、“OperationsManager”)
.CreateAlias(“计划”,“计划”,NHibernate.SqlCommand.JoinType.LeftOuterJoin)
.SetFirstResult(0)
.SetMaxResults(100)
.List();
我找不到原因。 非常感谢您的帮助。

我想说,试试这个:

var TotalRecords = FiltersCriteriaCount
    .CreateAlias("Schedules", "Schedules", NHibernate.SqlCommand.JoinType.LeftOuterJoin)
    .SetProjection(Projections.RowCount())
    .FutureValue<Int32>();
var TotalRecords=FiltersCriteriaCount
.CreateAlias(“计划”,“计划”,NHibernate.SqlCommand.JoinType.LeftOuterJoin)
.SetProjection(Projections.RowCount())
.未来价值();

谢谢Florian。我应该考虑一下那是个愚蠢的错误。伟大的
var TotalRecords = FiltersCriteriaCount
    .CreateAlias("Schedules", "Schedules", NHibernate.SqlCommand.JoinType.LeftOuterJoin)
    .SetProjection(Projections.RowCount())
    .FutureValue<Int32>();