2011-10-31 23 views
0

我需要顯示多重選擇的結果,並且不知道如何處理,問題如下:如何使用nhibernate從數據庫中進行多選?

我有一棵樹,它是multipleselection,選擇第一次,這顯示了我正確的信息,但是當我選擇另一個節點時,應該爲第一個和第二個選擇顯示信息,但只顯示第二個。

我的問題是,我如何可以存儲以前的選擇,並將其與新的鏈接。我正在使用NHibernate,C#和MVC模型。

我很感激任何幫助。

真誠

+0

有人告訴m e,它可以處理dataviews,但我不知道如何.. – verofairy

回答

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());

相關問題