Linq-NHibernate-获取dictionary属性包含列表中某个项的所有类



我有一个类似的类foo

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

现在我想从blubbDict包含关键字"FooBar"的数据库中加载所有对象其中barDict包含我在ListbarList中本地拥有的任何对象Bar。

到目前为止我得到的:

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

目前有效。但我的最后一种情况呢。我只想要两个条件都满足"FooBar"并且barDict的键在我的本地列表中的Foo对象。

有人能帮我吗?我无法理解那个问题。

从未尝试过这样做,所以我不确定Linq For NH是否支持它,但您可以尝试:

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

最新更新