2009-05-05 31 views
2

說我有一個linq查詢選擇R在db.Roles其中r.RoleName不包含(「管理員」)選擇r;如何創建一個linq查詢,獲取一切,但一個特定的值

它是不包含讓我迷惑的部分。我意識到我可以做到這一點。包含呼叫,但你如何做相反的事情?

謝謝!

更新: 我發現的排除方法,這裏是我如何使用它:

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 
      ); 

回答

9

請嘗試以下

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

你可以只使用C#不操作! (感嘆號)。擴展LINQ語法版本

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

如果你有多個角色排除,你可能需要看看Except功能。

相關問題