0

我在我的项目中使用 Linq。

我想要所有来自 viewTeachers 的教师,其中 Mailcode 不等于 20。

我的代码是

var startWithFullName = from v in Db.viewTeachers
                                            where v.FullName.StartsWith(prefix) && !v.MailCode.Equals(20)
                                            orderby v.FullName
                                            select new { v.ID, v.FullName };

                    foreach (var teacher in startWithFullName)
                    {
                        teacherTable.Rows.Add(teacher.FullName, teacher.ID);
                    }

我已经写了

!v.MailCode.Equals(20)

但不确定它是否正确。

谁能告诉我该怎么做?

4

3 回答 3

7

您可以简单地将您的条件写为:

v.MailCode != 20

所以你的 where 子句应该是:

where v.FullName.StartsWith(prefix) && v.MailCode != 20
于 2012-09-26T06:27:42.750 回答
1

条件可以写成!= 20..

像这样的东西:

var startWithFullName = from v in Db.viewTeachers 
          where v.FullName.StartsWith(prefix) && v.MailCode != 20
          orderby v.FullName 
          select new 
              { 
                 v.ID, 
                 v.FullName 
               };
于 2012-09-26T06:30:17.647 回答
-1

它不会编译。等于在连接中使用,在 where 条件下应该使用 !=。希望这能消除您的疑虑。

于 2012-09-26T06:37:23.150 回答