SQL IN 절과 동일
-
29-10-2019 - |
문제
new_contextline이라는 문자열 속성이있는 new_trexmail이라는 엔티티가 있습니다.
정의 된 목록에 new_contextline이있는 엔티티 목록을 가져 오려고합니다.
다음 코드는 오류와 함께 실패합니다 : NotSupportedException: Invalid 'where' condition. An entity member is invoking an invalid property or method.
라코 디스
이 오류가 발생하는 이유를 이해하지만 XRM을 사용하여 IN 절과 동등한 작업을 수행 할 수 있는지 궁금합니다.
가능하다면 XRM이 SELECT * FROM new_trexmail WHERE new_contextline in ('aaa', 'hhh')
를 실행하도록하려면 어떻게해야합니까?
감사합니다.
데이비드
해결책
(원하는 것보다 긴) LINQ 제한 목록 , 특히 where
절에 대한 제한 :
<인용구>
절의 왼쪽은 속성 이름이어야하고 오른쪽은 절의 측면은 값이어야합니다.왼쪽을 a로 설정할 수 없습니다. 일정한.절의 양쪽 모두 상수가 될 수 없습니다.지원 문자열 함수 포함, StartsWith, EndsWith 및 Equals.
따라서 test
는 CRM 속성이 아니므로 Contains
를 호출 할 수 없습니다.그러나이를 해결하는 한 가지 방법은 " 동적 Linq "는 ScottGu에서 개발했으며 아래에 설명되어 있습니다.
라코 디스