Здравствуйте Я новичок в NHibernate, я хотел бы, чтобы заполнить TreeView с некоторой информацией - список посещения («посещено» в коде) для одного клиента - при каждом посещении содержит список законопроект ("" в фактурах коды)NHibernate оптимизации
Я написал этот код:
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, который возвращает все визиты на клиенте слева, присоединяется к видимому счету и с хорошим заказом я могу заполнить древовидную структуру.
Какова наилучшая практика для этого запроса?
С уважением
Я лучше посмотрел на ваше решение (и протестировал его). Это более результативно, спасибо –