Технически, если вы сделали внутреннее объединение, вы не получили бы никаких записей Sale
, которые не имеют Item
записей.
Так что в качестве действительно простого QueryOver
вы могли бы сделать:
var sales = session.QueryOver<Sale>()
.Inner.JoinQueryOver(x => x.Items)
.Select(Projections.RootEntity())
.TransformUsing(Transformers.DistinctRootEntity)
.List();
Это результирующий SQL:
SELECT this_.SaleId as saleid1_1_0_,
this_.SaleNumber as salenumber2_1_0_,
this_.Location as location3_1_0_,
this_.SaleDateTime as saledatetime4_1_0_
FROM Sale this_
inner join Item item1_ on this_.SaleId=item1_.SaleId