OR运算符在LINQ中不起作用

时间:2015-02-17 04:53:32

标签: c# linq entity-framework linq-to-entities

我需要选择一个不包含2年级和8年级的列表。现在所有2年级的项目也会选择。请参阅下面的代码

var subjectList = printViewModel.GetSubjects().Where(p => p.Grade != "2" || p.Grade != "8");

PrintTemplateViewModel类

public class PrintTemplateViewModel
{
    public List<SubjectsViewModel> lstSubjectsViewModel { get; set; }

    public List<SubjectsViewModel> GetSubjects()
    {
        return lstSubjectsViewModel;
    }
}

public class SubjectsViewModel  
{ 
    public string Grade { get; set; } 
}

2 个答案:

答案 0 :(得分:6)

您需要&&,而不是||。无论字符串的价值如何,它总是要么不是&#34; 2&#34;或者不是&#34; 8&#34;。它不可能同时出现! :)

答案 1 :(得分:0)

&#34; OR&#34;工作正常。这是你的逻辑不起作用:D

使用&&,因为您要检查两个值是否为真。