2012-05-14 30 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

安東真的很有幫助 - 我以前從未見過。謝謝 –

相關問題