尝试创建Lambda表达式以从包含七个Guid值中的任何一个的数据库中选择记录。
当我尝试以下操作时:
searchedOpps = searchedOpps.Where(s => s.STAGEID == stageAGuid && stageAPlusGuid && //etc);
我得到一个
Operator '&&' cannot be applied to operands of type 'bool' and 'System.Guid'
,与||
相同(不确定哪个或是否应该使用这两个运算符)如果我尝试:
searchedOpps = searchedOpps.Where(s => s.STAGEID == stageAGuid);
searchedOpps = searchedOpps.Where(s => s.STAGEID == stageAPlusGuid);
一无所有
有人可以帮我吗?
最佳答案
如果您有一些使用OR
运算符的键(例如在C#中为||
),可以尝试使用此键:
searchedOpps = searchedOpps.Where(s => s.STAGEID == stageAGuid
|| s.STAGEID == stageAPlusGuid));
但是,如果有键列表,则可以尝试使用
Contains
方法作为示例:List<Guid> guids = /* get your keys from somewhere */;
searchedOpps = searchedOpps.Where(s => guids .Contains(s.STAGEID));
如果您正在使用linq到数据库(linq-to-sql,entity-framework,nhibernate等),它将使用
IN
运算符为您生成所有键的查询。