2012-01-26 126 views

回答

2

我建議你不要在你的hbm文件中定義延遲加載/加載。

可以使用控制一切QueryOver

延遲加載:

var order = Session.QueryOver<Domain.Order>() 
    .Where(x => x.id == 12) 
    .SingleOrDefault(); 

預先加載:

Domain.OrderLine orderLine = null; 

var order = Session.QueryOver<Domain.Order>() 
    .Where(x => x.id == 12) 
    .Fetch(x => x.OrderLines).Eager 
     .JoinAlias(x => x.OrderLines,() => orderLine, JoinType.LeftOuterJoin) 
    .SingleOrDefault(); 

var order = Session.QueryOver<Domain.Order>() 
    .Where(x => x.id == 12) 
     .Inner.JoinAlias(x => x.OrderLines,() => orderLine) 
     .SingleOrDefault(); 

我建議你牛逼o讀這個有趣的article

相關問題