NHibernate 3和MySQL中多查询的语法错误

时间:2010-12-06 22:52:12

标签: c# mysql nhibernate nhibernate-3

我曾经能够使用MySQL

在NHibernate 2.1中运行以下代码作为多查询
var total = new LeagueInfoQuery { Count = true, User = CurrentUser }.CreateCriteria(session).FutureValue<int>();
var leagues = new LeagueInfoQuery { User = CurrentUser, PageSize = pageSize, Page = page, SortBy = sortBy, SortAsc = sortAsc }.CreateCriteria(session).Future<LeagueInfo>();
var results = PaginationHelper.CreateCustomPage<LeagueInfo>(leagues, pageSize, page, total.Value);

例如LeagueInfoQuery只是一个可以创建标准ICriteria的自定义查询对象。

但是,自从升级到NHibernate 3.0后,我现在收到语法错误。异常消息如下。

  

{“执行多条件时出错:   [SELECT count(*)as y0_ FROM League   this_ WHERE this_.User =   ?p0; \ r \ nSELECT this_.Id为y0_,   this_.Name为y1_,min(f1_.Date)为   y2_,max(f1_.Date)为y3_,   将(不同的t2_.Id)计为y4_ FROM   League this_ inner join Team t2_   on this_.Id = t2_.League内部联接   {_ 1}} f1_ on this_.Id = f1_.League   在哪里this_.User =?p1 GROUP BY   this_.Name ORDER BY y0_ desc limit   ?P1; \ r \ n]的“}

内部例外:

  

{“您的SQL中有错误   句法;检查手册   对应于您的MySQL服务器   用于正确语法的版本   近   '' b68d9d4e-a958-4fb8-8490-9e4401572f38 ''   在第1行“}

所以它看起来像是一个语法错误,但这并没有在v2.1中发生,如果我在消息中编辑SQL以便参数是值,我可以让它工作。

那么为什么NHibernate 3.0中会出现此错误?我是否需要特别为MySQL语法配置某些内容,如果是这样的话?

干杯。

1 个答案:

答案 0 :(得分:0)

这是NHibernate 3的一个问题,现在已经resolved(谢谢!)