如何使用nhibernate从数据库中进行多次选择
本文关键字:选择 何使用 nhibernate 数据库 | 更新日期: 2023-09-27 18:12:54
我需要显示多次选择的结果,不知道如何处理,问题如下:
我有一个树,它是多重选择,选择第一次,这向我显示了正确的信息,但是当我选择另一个节点时,应该显示第一次和第二次选择的信息,但只显示第二次。
我的问题是,我如何存储以前的选择并将其与新选择链接…?我正在使用NHibernate, c#和MVC模型。
谢谢你的帮助。
真诚可以查询多个选择
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());