无法确定Linq中哪个子句排除了值。

时间:2014-02-24 22:14:38

标签: linq entity-framework repository-pattern

我正在创建一个使用实体框架(也是域对象)的存储库,我需要查询所有不包含值“BADGE /”(不需要的值)的记录。我发现了一个方法是“.Contains”,但找不到与“notContains”等效的东西,或者排除具有不良值的记录。我想用“p.Lname.NotContains(”BADGE /“)之类的东西替换”p.Lname.Contains(“BADGE /”)或类似的东西,它在返回期间排除值。以下是我到目前为止的情况:

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

感谢社区 尼克

1 个答案:

答案 0 :(得分:1)

尝试:

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

这会排除包含目标字符串的所有字符串。