2009-02-03 66 views
3

我有以下表(簡化):NHibernate的 - WHERE EXISTS(X)

Product(Id, Name) 
OrderItem(Id, ProductId) 

...其映射到以下類:

Product {Id, Name} 
OrderItem {Id, Product (many-to-one)} 

我所需要的(N)休眠語法來檢索出現在訂單中的產品。
的SQL會是這樣的:

select * 
from Product 
where exists (
     select * 
     from OrderItem 
     where OrderItem.ProductId = Product.Id) 

如何創建標準是什麼?

回答

3

它竟然是容易...

var query = session.CreateQuery(
      "select distinct oi.Product from OrderItem oi"); 
return query.List<Product>();