2013-03-04 1 views
0

리스트를 사용하여 linq 결과에 필터를 적용하려고합니다.linq를 쿼리 정의 다음에리스트로 필터링합니다.

userRoles = userRoles.Where(.........); 
:

var userRoles = from u in db.UserRoles.Include(c => c.Customers) 
select u; 

다음 내 고객 목록을 사용하여 필터를하고 싶지 : 내 LINQ 코드가 다음

List<string> custList = new List<string> { "customer1", "customer2", "customer3" }; 

:

나는 고객 이름 목록이

나는 이미 쿼리 정의에서 필터를 수행했습니다.

var userRoles = from u in db.UserRoles.Include(c => c.Customers) 
where custList.contain(u.Customers.Name) 
select u; 

그러나 디자인 목적으로 쿼리 정의 후에 필터를 수행해야합니다.

답변

0

나는 완전히 확실하지 이해하지만, 당신은 두 개의 쿼리로 분할 할 수 있습니다 : 다른 위치에 다음

var userRoles = from u in db.UserRoles.Include(c => c.Customers) 
       select u; 

:

List<string> custList = new List<string> { "customer1", "customer2", "customer3" }; 

var custRoles = from u in userRoles 
       where custList.Contains(u.Customers.Name) 
       select u; 
0
var userRoles = from u in db.UserRoles.Include(c => c.Customers) 
var someRoles = userRoles.Where(........); 
관련 문제