带有ManytoMany的NHibernate QueryOver

时间:2010-10-10 14:53:25

标签: nhibernate queryover

我正在学习QueryOver,但我终生无法弄清楚如何进行简单的多对多查询。

我写了以下内容:

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

这实现了期望的结果。基本上我有

产品&gt; ProductCategory&lt;分类

ProductCategory只有ProductId / CategoryId,我正在尝试选择特定类别中的所有产品。

我不知道从哪里开始尝试使用查询来执行此操作。

1 个答案:

答案 0 :(得分:14)

经过多次坚持后,我最终解决了这个问题。

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

真是一个使命:)