nhibernate优化
你好 我是nhibernate的新手,我想在树状视图中填入一些信息 -代码中一个客户的访问列表 -每次访问都包含代码中的票据制造清单 我写的代码是:nhibernate优化,nhibernate,Nhibernate,你好 我是nhibernate的新手,我想在树状视图中填入一些信息 -代码中一个客户的访问列表 -每次访问都包含代码中的票据制造清单 我写的代码是: ISession session = NHibernate.DataAccess.Models.Repository.TSession(); var visites = (from v in session.Query<Visites>() where v.Clients.Idclient == lstClients.Selecte
ISession session = NHibernate.DataAccess.Models.Repository.TSession();
var visites = (from v in session.Query<Visites>()
where v.Clients.Idclient == lstClients.SelectedValue.ToString()
&& v.Supprime == false
select v).ToList();
foreach (Visites v in visites)
{
node = new TreeNode("Visite du " + v.Datevis.ToShortDateString());
var liste = v.Factures.Where(f => !f.Masque).Where(f => !f.Recup);
foreach (Factures f in liste)
{
node.Nodes.Add("Facture n°" + f.Nofacture.ToString());
}
}
请注意:
访问列表将从一位客户的访问中过滤
票据列表仅过滤可见票据
它工作得很好,但速度很慢,每次访问都有一个sql查询。
在我的旧代码中,我做了一个sql查询,检索客户左侧的所有访问,然后加入可见账单,并以良好的顺序填充树视图
对于该查询,最佳做法是什么
关于将batch size=n添加到Visites.Factures集合的映射中,其中n是要一次加载的集合计数
这意味着您只能对每n个Visites实例进行一次查询。将batch size=n添加到Visites.Factures集合的映射中,其中n是要一次加载的集合计数
这意味着您只能对每n个Visites实例进行一次查询。我对您的解决方案有了更好的了解,并对其进行了测试。它的性能更高,谢谢。我对您的解决方案有了更好的了解,并对其进行了测试。它的性能更好,谢谢