-1

私は2つのテーブルを持っています:

Product(ProductID, Detail, ProductTypeID) 

ProductType(ProductTypeID, Detail).

を使用して Product テーブルのリストProductTypeを取得したい。膨大な量の製品タイプがあります。ProductTypeIDnhibernate

4

1 に答える 1

0

NHibernate では、テーブルではなく、オブジェクト モデルに対してクエリを記述します。オブジェクト モデルについて説明していないので、テーブルがどのように見えるかに基づいて、単純な仮定を立てました。

NHibernate Linq を使用した 1 つの可能なクエリは、次のようになります。

// Notice no ToList(), since we want it as a subquery.
var usedProductTypesIdSubquery =
    session.Query<Product>
           .Select(product => product.ProductType.Id);

var usedProductTypes = 
    session.Query<ProductType>
           .Where(productType => usedProductTypesIdSubquery.Contains(productType.Id)
           .ToList();

// Because we are using a subquery, and contains (the 'IN' clause in SQL), the
// resulting list usedProductTypes will not contain duplicates.
于 2013-07-05T17:40:54.967 に答える