使用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>();
我该怎么做?
由于
答案 0 :(得分:4)
您可以使用contains来执行:
.Where(x => ListOfSubsetCodes.Contains (x.Code))
答案 1 :(得分:4)
您已经使用过QueryOver,另一种方法是:
.WhereRestrictionOn(x => x.Code).IsIn(ListOfSubsetCodes)
我认为x => ListOfSubsetCodes.Contains()
适用于LINQ,但不适用于QueryOver。