Как сделать множественный выбор из базы данных, используя nhibernate? - PullRequest
0 голосов
/ 31 октября 2011

Мне нужно показать результат множественного выбора и не знаю, как я могу справиться, проблема заключается в следующем:

У меня есть дерево, которое является множественным выбором, выбирая в первый раз, это показываетмне правильная информация, но когда я выбираю другой узел, информация должна отображаться для первого и второго выбора, а показывать только второй.

У меня вопрос, как я могу сохранить предыдущий выбор и ссылкуэто с новым ..?Я работаю с NHibernate, C # и моделью MVC.

Я ценю любую помощь.

С уважением

1 Ответ

0 голосов
/ 02 ноября 2011

Вы можете запросить несколько вариантов выбора

IEnumerable<Entity> results = Enumerable.Empty<Entity>();

foreach (var node in selectedNodes)
{
    results = results.Concat(Session.Query<Entity>().Where(...).Future<Entity>());
}

Show(results);

Или кешировать результаты выборок

Dictionary<node, IEnumerable<Entity>> _nodeResults; // somewhere


foreach (var node in selectedNodes)
{
    if (!_nodeResults.ContainsKey(node))
        _nodeResults.Add(node, Session.Query<Entity>().Where(...).Future<Entity>());

    results = results.Concat(_nodeResults[node]);
}

, если вам нужны разные результаты, используйте Intersect вместо Concat или Show(results.Distinct());

...