我需要显示多项选择的结果而不知道我该如何处理,问题如下:
我有一个树,它是多选的,第一次选择,这显示了正确的信息,但是当我选择另一个节点时,应该显示第一个和第二个选择的信息,但只显示第二个。
我的问题是,我如何存储以前的选择并将其与新的选择相关联?我正在使用NHibernate,C#和MVC模型。
我感谢任何帮助。
此致
答案 0 :(得分:0)
您可以查询多个选择
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());