6

私は QueryOver を学んでいますが、単純な多対多のクエリを実行する方法を一生理解できません。

私は次のように書いています。

            var result = Session.CreateCriteria(typeof (Product))
                .CreateAlias("Categories", "categories")
                .Add(Property.ForName("categories.Id").Eq(categoryId))
                .List<Product>();

これにより、目的の結果が得られます。基本的に私は持っています

製品 > 製品カテゴリ < カテゴリ

ProductCategory には ProductId / CategoryId しかなく、特定のカテゴリのすべての製品を選択しようとしています。

クエリオーバーでこれを行うには、どこから始めればよいかわかりません。

4

1 に答える 1

15

私は多くの忍耐の後でこれを解決することになった。

            var result = Session.QueryOver<Product>()
                            .Right.JoinQueryOver<Category>(x => x.Categories)
                            .Where(c => c.Id == categoryId)
                            .List();

なんという使命:)

于 2010-10-11T11:35:44.677 に答える