1
我有經典的情況Orders/OrderLines。 我想獲取一些訂單,並用外連接熱切加載訂單。 我注意到,如果我使用QueryOver:熱切地獲取多個集合:QueryOver和查詢之間的差異
var orders2 = session.QueryOver<Domain.Order>()
.Where(x => x.Company == "HBP00").And(x => x.Number == "VI11001680")
.Fetch(x => x.OrderLines).Eager
.List();
我得到一個笛卡兒積。
orders2包含11行,即使只有一個訂單,但實際上它有11個訂單。
如果我使用查詢:
var orders1 = session.Query<Domain.Order>()
.Where(x => x.Company == "HBP00" && x.Number == "VI11001680")
.Fetch(x => x.OrderLines)
.ToList();
一切正常。 有趣的是我分析了查詢,它們是相同的。 有什麼我不得不知道不要急於用QueryOver加載一個集合的笛卡爾積?
在此先感謝。