NHibernate版本2.1.2.4中的HQL查询有什么问题?

NHibernate版本2.1.2.4中的HQL查询有什么问题?,nhibernate,Nhibernate,因此,下面的hql查询正在抛出一个Antlr.Runtime.NoViableAltException。我能够确定问题出在ORDERBY子句中的member.LastName字段。如果从订单中删除member.LastName,则将执行查询。这个HQL在NHibernate的早期版本中工作得很好,但在升级到NHibernate 2.1.2.4后它崩溃了。如何在不引发异常的情况下包含member.LastName属性?非常感谢您的帮助。谢谢 select chartAssignmentLogRec

因此,下面的hql查询正在抛出一个Antlr.Runtime.NoViableAltException。我能够确定问题出在ORDERBY子句中的member.LastName字段。如果从订单中删除member.LastName,则将执行查询。这个HQL在NHibernate的早期版本中工作得很好,但在升级到NHibernate 2.1.2.4后它崩溃了。如何在不引发异常的情况下包含member.LastName属性?非常感谢您的帮助。谢谢

select chartAssignmentLogRecord 
from ChartAssignmentLogRecord chartAssignmentLogRecord 
inner join chartAssignmentLogRecord.Measure as measure 
inner join measure.ProviderLocation as providerLocation
inner join providerLocation.Provider as provider 
inner join providerLocation.Address as address 
inner join measure.Member as member
where chartAssignmentLogRecord.AssignedDate >= :startDate  and chartAssignmentLogRecord.ChartModifiedStatus =  :modifiedStatus  and chartAssignmentLogRecord.AssignedDate =(select max(subChartAssignmentLogRecord.AssignedDate) from ChartAssignmentLogRecord subChartAssignmentLogRecord where subChartAssignmentLogRecord.Measure=chartAssignmentLogRecord.Measure) 
order by chartAssignmentLogRecord.AssignedDate desc, provider.LastName, address.AddressLine1, member.LastName

多亏了DanP,我在ORDERBY子句中使用了measure.Member.LastName而不是Member.LastName。不确定为什么会这样做,因为据我所知,我的HQL应该是有效的,并且在NHibernate的早期版本中肯定是有效的。

多亏了DanP,我在order by子句中使用了measure.Member.LastName而不是Member.LastName。不确定为什么会这样做,因为据我所知,我的HQL应该是有效的,而且在NHibernate的早期版本中肯定是有效的。

你能创建一个独立的测试用例吗?@Mauricio-如果你问我是否有针对这个查询的单元/集成测试,那么答案是肯定的。这里是在黑暗中拍摄的……但是order by中是否有对measure.Member.LastName的喜爱?@DanP=Whoa,这很有效!谢谢有趣的是,provider.LastName上的order by没有问题。也许这与别名上的重复属性有关?不知道,但很高兴它成功了:)你能创建一个独立的测试用例吗?@Mauricio-如果你问我是否有一个针对这个查询的单元/集成测试,那么答案是肯定的。这里是在黑暗中拍摄的……但是对order by中的measure.Member.LastName有什么爱好吗?@DanP=Whoa,那就成功了!谢谢有趣的是,provider.LastName上的order by没有问题。也许这与别名上的重复属性有关?不知道,但很高兴它成功了:)