簡體   English   中英

Linq - NHibernate - 獲取所有類,其中dictionary屬性包含我列表中的一個項目

[英]Linq - NHibernate - get all classes where the dictionary property contains one of the items from my list

我有一個類foo

foo 
{
Dictionary<string, Blubb> blubbDict {get;set;}
Dictionary<Bar, string> barDict {get;set;}
}

現在我想加載數據庫中的所有對象,其中blubbDict包含一個鍵“FooBar”,其中barDict包含我在List barList中本地擁有的任何對象Bar。

到目前為止我得到了什么:

var fooQuery = from c in session.Query<Foo>()
               where c.blubbDict.ContainsKey("FooBar")
               select c;

到目前為止工作。 但是我的最后一個條件呢。 我只想要兩個條件符合“FooBar”的Foo對象,而barDict的鍵在我的本地列表中。

誰能幫我? 我無法理解這個問題。

從來沒有試過這樣做,所以我不確定Linq For NH支持它,但你可以試試:

var fooQuery = session.Query<Foo>()
                      .Where(c => c.blubbDict.ContainsKey("FooBar"))
                      .Where(c => barList.Any(b => c.barDict.ContainsKey(b)));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM