0
我得到了下面這段代碼(很明顯)會給我帶來巨大的性能問題,並且尋求如何使它更好的建議。這個想法是,對於列表中的每個基礎項目,我查看是否至少有一個派生項目,如果沒有,我創建一個。問題是,對於每一個基本項目有一個單獨的數據庫查詢:優化NHibernate查詢
var derivedItems = from item in baseItems select item.GetDerivedItem(session);
其中
public virtual DerivedListItem GetDerivedItem(ISession session)
{
var items = session.Query<DerivedItem>()
.Where(item => item.BaseItem == this);
if (items.Any())
return items.First();
var newItem = new DerivedItem(this);
session.Save(newItem);
return newItem;
}
如何改善這種代碼?
太棒了,我來試一試 – ulu 2010-11-25 16:42:49