1

問題:

私はオブジェクト階層を持っていますA => B => C-それはA参照BB参照Cです。 クエリしようとしているプロパティCが含まれています。Name次のコードを呼び出して、A's

ICriteria criteria = session.CreateCriteria(typeof (A)).Add(Restrictions.Eq("B.C.Name", "Test"));
return criteria.List<A>();

「プロパティを解決できませんでした:BCName of:A」というエラーが表示されます。私のマッピングはすべて見栄えがよく、プロパティが含まBれ、CプロパティCが含まれていNameます。また、要求されたデータを正常に取得する他のクエリを実行しているため、マッピングが正しいことも確認しました。

基本的に、私はA'sの名前に一致するすべてのものを取得しようとしていCます。では、これを実行できるクエリを作成するにはどうすればよいですか?

ありがとう、

カイル

4

1 に答える 1

2

QueryOverの使用:

session.QueryOver<A>()
    .JoinQueryOver(a => a.B)
    .JoinQueryOver(b => b.C)
    .Where(c => c.Name == "Test")
    .List<A>();

エイリアスを使用してそれを行うこともできます。

于 2011-03-31T22:36:52.177 に答える