首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个AND和OR运算的LINQ

具有多个AND和OR运算的LINQ
EN

Stack Overflow用户
提问于 2017-10-27 20:57:49
回答 1查看 378关注 0票数 0

我正在尝试选择那些满足以下条件的模型:

支持所有不以strShortcuts作为dto.ShortCut、以strModel作为dto.Model的机型,但与dto.Idx具有相同idxModel的机型除外

代码语言:javascript
复制
var duplicate = _modelRepository.QueryWhere( dup=> dup.idxModel != dto.Idx 
                                                  && ( dup.strShortCut == dto.ShortCut 
                                                       || dup.strModel == dto.Model
                                                     )
                                           )
                                .FirstOrDefault();

我构造的查询是否正确?

EN

回答 1

Stack Overflow用户

发布于 2017-10-27 21:11:43

我不知道QueryWhere是什么,但除此之外,你应该检查一下:

代码语言:javascript
复制
var duplicate = _modelRepository.QueryWhere( dup=> dup.idxModel != dto.Idx 
                                                  && !( dup.strShortCut == dto.ShortCut 
                                                       || dup.strModel == dto.Model)
                                           )

...or更好:

代码语言:javascript
复制
var duplicate = _modelRepository.QueryWhere( dup=> dup.idxModel != dto.Idx 
                                                  && ( dup.strShortCut != dto.ShortCut 
                                                       && dup.strModel != dto.Model)
                                           )       

并跳过'FirstOrDefault‘,因为它不会给出’所有‘模型,但是,正如函数名所说,第一个模型或默认模型(null)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46975628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档