2012-05-14 28 views
1

当使用QueryOver,我通常写一个Where子句在字段中的值完全一致:使用QueryOver我怎么写Where语句对一个“是”

var subset = _session.QueryOver<ProviderOrganisation>() 
.Where(x => x.Type == "Hospital") 
.List<ProviderOrganisation>(); 

但现在我想匹配对值列表场,所以在SQL有点像“其中X是():”

var subset = _session.QueryOver<ProviderOrganisation>() 
.Where(x => x.Code is In (ListOfSubsetCodes)) 
.List<ProviderOrganisation>(); 

如何做到这一点吗?

感谢

回答

4

可以使用含有做在:

.Where(x => ListOfSubsetCodes.Contains (x.Code)) 
+0

感谢同行这就是发现。 –

4

您已经使用QueryOver,以及这样做的另一种方式:

.WhereRestrictionOn(x => x.Code).IsIn(ListOfSubsetCodes) 

我认为x => ListOfSubsetCodes.Contains()将工作对于LINQ而言,但不适用于QueryOver。

+0

安东真的很有帮助 - 我以前从未见过。谢谢 –

相关问题