1
我是新實現的Nhibernete。我可以在運行時使用c在Nhibernate中進行延遲加載嗎#
如果我在Nhibernete中使用XML文檔(.hbm.xml文件),我啓用/禁用該xml中的延遲加載。
Nhibernete有什麼辦法可以在運行時設置延遲加載嗎?
我是新實現的Nhibernete。我可以在運行時使用c在Nhibernate中進行延遲加載嗎#
如果我在Nhibernete中使用XML文檔(.hbm.xml文件),我啓用/禁用該xml中的延遲加載。
Nhibernete有什麼辦法可以在運行時設置延遲加載嗎?
我建議你不要在你的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。