면책 조항 : System.Linq.Expressions에서 표현식을 사용하여 문제를 해결했지만 더 나은/더 쉬운 방법을 찾고 있습니다.LINQ의 Dynamic where 절 - 런타임에 열 이름을 사용할 수 있음
var query =
from c in db.Customers
where (c.ContactFirstName.Contains("BlackListed") ||
c.ContactLastName.Contains("BlackListed") ||
c.Address.Contains("BlackListed"))
select c;
열이/블랙리스트 용어에 대해 검사 할 필요가 속성을 런타임에 나에게에서만 사용할 수 있습니다 :
는 다음과 같은 상황을 생각해 보자. 어떻게이 동적 where 절을 생성합니까?
Queryable 컬렉션 (위의 db.Customers)이 'Customer'('Person')의 기본 클래스의 Queryable에 입력되므로 위와 같이 c.Address를 쓰는 것이 옵션이 아닙니다 .
귀하의 표현 솔루션을보고 싶으시겠습니까? 답을 추가 할 기회가 있습니까? 건배. – Kev
이 [질문] (http://stackoverflow.com/questions/30879/is-there-a-pattern-using-linq-to-dynamically-create-a-filter) 및 내 후속 동적 LINQ 쿼리에 대한 대답 – Geoff