1

使用 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

2 回答 2

4

您可以使用 contains 执行以下操作:

.Where(x => ListOfSubsetCodes.Contains (x.Code)) 
于 2012-05-14T13:01:55.510 回答
4

您已经使用了 QueryOver,以及执行此操作的另一种方式:

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

我认为x => ListOfSubsetCodes.Contains()它适用于 LINQ,但不适用于 QueryOver。

于 2012-05-14T20:35:35.950 回答