2010-10-10 26 views
6

Tôi đang trong quá trình học QueryOver, nhưng tôi không thể cho cuộc sống của mình tìm ra cách làm nhiều đơn giản cho nhiều truy vấn.NHibernate QueryOver với ManytoMany

Tôi đã viết như sau:

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

này đạt được kết quả mong muốn. Về cơ bản tôi có

Sản phẩm> ProductCategory < Thể loại

ProductCategory chỉ có ProductID/CategoryID, và tôi đang cố gắng để chọn tất cả các sản phẩm trong một thể loại cụ thể.

Tôi không biết bắt đầu từ đâu bằng cách cố thực hiện điều này với truy vấn.

Trả lời

13

Tôi đã kết thúc việc giải quyết vấn đề này sau rất nhiều sự kiên trì.

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

Thật là một sứ mệnh :)

+0

tuyệt vời. cảm ơn bạn:) –

Các vấn đề liên quan