2

HQLを試して、NHibernaten00bを合計します。

public IEnumerable<Log> GetLast(int numRecords, string severity)
{
    var query = _Session.CreateQuery(
        "from Log as l inner join fetch l.UserProfile order by l.TimeStamp desc where l.Severity in (:severities)")
        .SetParameterList("severities", Translator.SeverityOrHigher(severity))
        .SetMaxResults(numRecords)
        .Enumerable<Log>();

    return query;
}

Translator.SeverityOrHigherを返しますIList<string>

オブジェクトを多対1Logで参照するオブジェクトがあります。オブジェクトは、それぞれおよびUserProfilesとしてデータベースに永続化されます。LogsUserProfiles

次の例外がvar query = ...回線にスローされます。

Exception of type 'Antlr.Runtime.MismatchedTokenException' was thrown.

それが何を意味するのか私にはわかりませんし、Google検索は特に役に立ちませんでした。HQLに問題があるかどうか、またはこれを設定する方法がわかりません。任意のガイダンスをいただければ幸いです。

4

1 に答える 1

2

私は何年もの間NHibを使用していません...あなたは最後に声明で注文しようとしましたか?おそらく、私はいつも最後に置いて、このように機能しています。

于 2012-04-21T15:10:12.360 に答える