2012-12-02 7 views
8

Bir IQueryable<T> ürünümüz var. Where cümlesi, tek ID değerlerine göre filtreleyebilir, ancak bir kimlik listesine göre bir IQueryable'u nasıl iade edebilirim? seaUserIdIDs listede olup tblSearches denIQueryableID'ler listesine göre filtreleme

[TestMethod] 
public void TestIQueryableWithList() 
{ 
    int ID1 = 1; 
    List<int> IDs = new List<int> { 1, 3, 4, 8 }; 

    using (var db = new SellooEntities())    
    { 
     // works fine as single value 
     var iq = db.tblSearches.Where(x => x.seaUserId == ID1); 

     // how can i do it to check for all the IDs ?? 
     foreach(int ID in IDs) 
     { 
      // this obviously wont work 
      var iq = db.tblSearches.Where(x => x.seaUserId == ID); 
     } 
    }    
} 

cevap

9

alın veriler:

[TestMethod] 
public void TestIQueryableWithList() 
{ 
    int ID1 = 1; 
    List<int> IDs = new List<int> { 1, 3, 4, 8 }; 

    using (var db = new SellooEntities())    
    { 
     var iq = db.tblSearches.Where(x => IDs.Contains(x.seaUserId); 
    }    
} 
5

kullanabilirsiniz Contains

var iq = db.tblSearches.Where(x => Ids.Contains(x.seaUserId) == ID);