2010-12-06 18 views
0

Iは、MySQL構文エラーとMySQL

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); 

などを使用してNHibernateは2.1におけるマルチクエリとして、次のコードを実行できるようにするために使用LeagueInfoQueryは、標準ICriteriaを作成できるカスタムクエリオブジェクトです。

しかし、NHibernate 3.0にアップグレードしたので、今は構文エラーが発生します。例外メッセージは次のとおりです。

マルチ基準を実行{ "エラー: [SELECT COUNT(*)y0_としてthis_.User = P0 League this_ FROM; \ R \ nSELECT this_.Id y0_として、 this_.Nameとして? y2_としてy1_、分(f1_.Date)、MAX(f1_.Date)y3_として、 カウント(別個t2_.Id)y4_として League FROM this_内側はthis_.Id = t2_.League内部結合にTeam t2_ に参加します Fixture f1_ on this_.Id = f1_.League WHERE this_.User =?p1 GROUP BY this_.Name ORDER BY y 0_ DESC制限 P1;の\ r \ n]? "}

内部例外:

{" あなたはあなたのSQL 構文でエラーが発生しています。 はライン1" }

だから、それがどのように見えるで「b68d9d4e-a958-4fb8-8490-9e4401572f38「」 」 近く を使用する権利構文についてはMySQLサーバへ バージョンが対応していることを確認し、手動構文エラーですが、これはv2.1で発生するのに使用されませんでした。パラメータが値になるようにメッセージのSQLを編集すると、動作させることができます。

なぜこのエラーは現在NHibernateで発生していますか3.0?特にMySQL構文で何かを設定する必要がありますか?その場合はどうすればよいですか?

乾杯。あなただけのNHバイナリを置き換えることで、一貫し、問題を再現できる場合

+0

は、HTTPでの問題を開いてください://jira.nhforgeを。 org –

+0

私はできるだけ早くやります、今晩はうまくいけばいいです - ありがとう。 – Adam

+0

私は添付のプロジェクトでそれを実証するための問題を作成しました。http://216.121.112.228/browse/NH-2450 – Adam

答えて

0

これは今resolvedされているNHibernateの3の問題だった(!ありがとう)