Expression<Func<string, bool>>
두 개의 표현식 트리가 있는데 두 표현식의 OR을 수행하는 단일 표현식을 얻고 싶습니다. 두 표현식에 동일한 문자열 매개 변수를 전달하십시오. 어떤 생각?두 표현식 트리를 결합하는 방법
1
A
답변
1
Expression.Lambda
표현식에서 결합한 다음 Expression.Or
을 사용하여 그 중 하나가 사실인지 확인할 수 있습니다.
Expression<Func<Car, bool>> theCarIsRed = c1 => c1.Color == "Red";
Expression<Func<Car, bool>> theCarIsCheap = c2 => c2.Price < 10.0;
Expression<Func<Car, bool>> theCarIsRedOrCheap = Expression.Lambda<Func<Car, bool>>(
Expression.Or(theCarIsRed.Body, theCarIsCheap.Body), theCarIsRed.Parameters.Single());
var query = carQuery.Where(theCarIsRedOrCheap);
은 어쩌면 당신은 당신이 할
PredicateBuilder
from LINQKit를 사용할 수있는 추가 정보를 원하시면에게
here
+1
'theCarIsCheap'의 본문에 사용 된 매개 변수가 결과 표현식에 더 이상 존재하지 않으므로 작동하지 않습니다. ExpressionVisitor에서 먼 길을 사용해야합니다. –
+0
나는 그것을 조사하고있다. 그러나 링크는 가치가있다. – Dave
3
를 얻을 수 있습니다 : 여기
은 예입니다. 예 :Expression<Func<string, bool>> e1 = …;
Expression<Func<string, bool>> e2 = …;
Expression<Func<string, bool>> combined = e1.Or(e2).Expand();
관련 문제
- 1. NotStartsWith 표현식 트리를 만드는 방법
- 2. 표현식 트리를 사용하여 필터링
- 3. 두 테이블을 결합하는 방법
- 4. 두 테이블을 결합하는 방법
- 5. 표현식 트리를 만드는 방법 - 유사 코드
- 6. 두 개의 이진 트리를 결합하는 알고리즘? 예를 들어
- 7. LINQPad가있는 표현식 트리를 보려면 어떻게해야합니까?
- 8. 표현식 트리를 사용하여 람다 작성하기
- 9. 두 진술을 함께 결합하는 방법
- 10. 이 두 테이블을 결합하는 방법?
- 11. 두 가지 방법을 결합하는 방법
- 12. HIVE에서 두 테이블을 결합하는 방법.
- 13. 두 열을 하나로 결합하는 방법
- 14. 두 범위를 OR로 결합하는 방법
- 15. Xcode : 두 줄을 결합하는 방법?
- 16. 다중 노드 트리를 HTML 출력으로 결합하는 XSL
- 17. 두 필드에 두 개의 독침을 결합하는 방법 C#을 데이터베이스 Linq에 람다 표현식
- 18. PHP에서 표현식 트리를 사용하는 방법은 무엇입니까?
- 19. .NET 표현식 트리를 새 어셈블리에 연결
- 20. postfix 표현식에서 표현식 트리를 만드는 방법은 무엇입니까?
- 21. 표현식 트리를 사용하는 사용자 지정 식의 동일성
- 22. 표현식 트리를 인수 제약 조건으로 사용
- 23. 런타임 정렬을위한 표현식 트리를 어떻게 만듭니 까?
- 24. VB.Net Linq는 표현식 트리를 통해 GroupBy를 추가합니다.
- 25. 표현식 트리를 병렬화하는 권장되는 메커니즘은 무엇입니까?
- 26. 표현식 트리를 사용하여 Nullable 유형을 필터링하려고 시도합니다.
- 27. GroupBy 표현식 트리를 여러 필드로 구성
- 28. 표현식 트리를 사용하여 참조 변수가있는 메서드를 호출하는 방법
- 29. 표현식 트리를 구문 분석하여 형식 조건을 추출하는 방법 OfType
- 30. 최상의 방법으로 표현식 트리를 사용하여 속성을 가져오고 설정하는 방법?
내가 여기 묻는 것이 무엇인지 잘 모르겠다. – Bostwick