如何创建一个获取除特定值之外的所有内容的linq查询

Jef*_*cht 2 .net c# linq

假设我有一个linq查询在db.Roles中选择r,其中r.RoleName不包含("Administrator")select r;

这是不包含让我困惑的部分.我意识到我能做到这一点.包含电话,但你怎么做相反的事情呢?

谢谢!

更新: 我找到了Exclude方法,以下是我如何使用它:

var role = (from r in db.Roles
            orderby r.RoleName
            select r)
           .Except(from r in db.Roles 
                   where r.RoleName == "Administrator" & r.RoleName == "DataEntry" 
                   select r
            );
Run Code Online (Sandbox Code Playgroud)

Jar*_*Par 9

请尝试以下方法

var query = db.Roles.Where(x => !x.RoleName.Contains("Administrator"));
Run Code Online (Sandbox Code Playgroud)

你可以使用C#not运算符!(感叹号).扩展LINQ语法版本

var query = 
  from it in db.Roles
  where !it.RoleName.Contains("Administrator")
  select it;
Run Code Online (Sandbox Code Playgroud)