2
두 테이블의 ID 열 사이에 각각 외래 키와 일대 다 관계가있는 두 개의 테이블 (TABLE1, TABLE2 - 고유 한 것으로 알고 있음)이 있습니다.linq2sql 및 OR 연산자로 프리디 케이트 빌더를 사용하는 방법
나는 모든 TABLE1 항목을 선택하려고 linq2sql를 사용하여 같은 그들의 TABLE2 값을 대응하는 나는 그것을 통과 목록에 최소 1 항목을 포함하는.
다음은 그러나 오류를 NotSupportedException이 무엇입니까를 테스트 할 LINQPad (최고 프로그램)에서 내가 사용 된 몇 가지 예제 코드입니다 : '모든'질의 연산자에 사용되지 않는 과부하.
long[] items = { 3, 5, 8 };
var predicate = PredicateBuilder.False<TABLE2>();
foreach (long i in items)
{
long t = i;
predicate = predicate.Or(att => att.ID == t);
}
//TABLE2.Where(predicate).Dump(); //works like a charm
IQueryable query =
from t1 in TABLE1
where t1.TABLE2.AsQueryable().Any(predicate) //problem with this line
select a;
query.Dump();
UPDATE
LinqPad에 LinqKit가 LinqKit.dll 참조를 추가 추가 스페이스 수입 탭 LinqKit 추가 PredicateBuilder 또한 다음을 포함 해제하고 사용. EntitySet에 사용될 때
여기에 비슷한 질문이 있습니다. http://stackoverflow.com/questions/2522079/generated-sql-with-predicatebuilder-linqpad-and-operator-any. VS에서 테스트하지 않았지만, LINQPad에서 쓰는 방법에 문제가있는 것 같습니다. – David