1
나는 고전적인 주문 Orders/OrderLines를 가지고 있습니다. 일부 주문을 가져 와서 외부 조인을 통해 주문 라인을 열심히로드하려고했습니다. 여러 컬렉션을 열심히 가져옵니다. QueryOver와 쿼리의 차이점
var orders2 = session.QueryOver<Domain.Order>()
.Where(x => x.Company == "HBP00").And(x => x.Number == "VI11001680")
.Fetch(x => x.OrderLines).Eager
.List();
내가 카티 제품을 얻을 : 나는 QueryOver를 사용하는 경우 것으로 나타났습니다.
orders2에는 단 하나의 주문이 있더라도 11 개의 행이 들어 있지만 실제로는 11 개의 주문 행이 있습니다.
내가 쿼리를 사용하는 경우 :
var orders1 = session.Query<Domain.Order>()
.Where(x => x.Company == "HBP00" && x.Number == "VI11001680")
.Fetch(x => x.OrderLines)
.ToList();
모든 것이 제대로 작동합니다. 재미있는 점은 쿼리를 분석 한 결과 동일하다는 것입니다. Cartesian 제품을 열망하여 QueryOver로 컬렉션을로드하지 못하도록해야합니까?
미리 감사드립니다.