【问题标题】:How do I create a linq query that gets everything but a specific value如何创建一个获取除特定值之外的所有内容的 linq 查询
【发布时间】:2013-04-11 21:36:07
【问题描述】:

假设我有一个 linq 查询 select r in db.Roles where r.RoleName DOES NOT contains ("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
            );

【问题讨论】:

    标签: c# .net linq


    【解决方案1】:

    试试下面的

    var query = db.Roles.Where(x => !x.RoleName.Contains("Administrator"));
    

    您可以只使用 C# not 运算符! (感叹号)。扩展的 LINQ 语法版本

    var query = 
      from it in db.Roles
      where !it.RoleName.Contains("Administrator")
      select it;
    

    【讨论】:

      【解决方案2】:

      如果您要排除多个角色,可以查看Except 函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-16
        • 2021-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多