我正在尝试选择符合以下条件的模型:
所有没有strShortcuts的模型作为dto.ShortCut和strModel作为dto.Model除了
与dto.Idx具有相同idxModel的那些
var duplicate = _modelRepository.QueryWhere( dup=> dup.idxModel != dto.Idx
&& ( dup.strShortCut == dto.ShortCut
|| dup.strModel == dto.Model
)
)
.FirstOrDefault();
我构建查询是否正确?
答案 0 :(得分:0)
我不知道QueryWhere是什么,但除此之外,你应该检查:
var duplicate = _modelRepository.QueryWhere( dup=> dup.idxModel != dto.Idx
&& !( dup.strShortCut == dto.ShortCut
|| dup.strModel == dto.Model)
)
......或更好:
var duplicate = _modelRepository.QueryWhere( dup=> dup.idxModel != dto.Idx
&& ( dup.strShortCut != dto.ShortCut
&& dup.strModel != dto.Model)
)
跳过' FirstOrDefault'因为它不会给你所有'模型,但正如函数名称所示,第一个或默认(null)