2014-02-24 56 views
0

我正在創建一個使用實體框架(也是域對象)的存儲庫,我需要查詢不包含值「BADGE /」(不需要的值)的所有記錄。我找到了一個「.Contains」的方法,但找不到與「notContains」等價的東西或排除具有不希望的值的記錄的方法。我想用「p.Lname.NotContains(」BADGE /「)之類的替換」p.Lname.Contains(「BADGE /」),或者在返回時排除值的東西。以下是我迄今爲止:無法計算Linq中排除值的where子句。

 public IQueryable<Personnel> NoBadgePersonnels 
     { 
      get { 
       return Context.Personnels.Where(p => p.Lname.Contains("BADGE/")); 
      } 

     } 

另外,這就是我背景下的樣子:

public class EmployeeRepository 
{ 
    private readonly EFContextProvider<EmployeeDbContext> 
    _contextProvider = new EFContextProvider<EmployeeDbContext>(); 


     private EmployeeDbContext Context 
     { 
      get { return _contextProvider.Context; } 
     } 

感謝社會 尼克

+0

你試過了嗎?(p =>!p.Lname.Contains(「BADGE /」)? –

回答

1

嘗試:

return Context.Personnels.Where(p => p.Lname.IndexOf("BADGE/") == -1); 

這不包括任何包含您的目標字符串的字符串。

+0

謝謝!!!!!,這與我使用的foxpro完全不同。 – Nick