는이 전 각 사용 PredicateBuilder에 대한 where 절을 구조화 한 내가 계획 및 문서SQL에 LINQ와 함께 두 개의 테이블을 조인 또는 절
Dim myPlans = _context.Plans.Where(predicate1)
Dim myDocuments = _context.Documents.Where(predicate2)
있다고 가정 해 봅시다. 따라서 myPlans 및 myDocuments에는 올바른 SQL 문이 있습니다.
내가하고 싶은 것은이 두 테이블을 하나의 linq 문으로 결합하는 것입니다. 문제는 기본적으로 AND 조건이 where 절에 합류한다는 것입니다.
myPlans Where 절 : ("% test %"와 같은 p.name 및 "% bed %"와 같은 p.name) 또는 "% test %"와 같은 p.description과 "% bed %"와 같은 p.description)
myDocuments Where 절 : "% test %"와 같은 dname 및 "% bed %"와 같은 d.name) 또는 "% test %"와 같은 d.description과 "% bed % ") 조항은 어디에서이 두 원하는 결과를 결합
:
(d.ID = p.ID) 및 (myplans where 절 이상) 또는 (mydocument where 절 이상). 의미, 나는 각각의 테이블에있는 절이 "and"대신에 "or"가되도록 두 곳을 원합니다.
절은 현재 결과
: (d.ID = p.ID) AND (myplans WHERE 절 이상) AND (mydocument WHERE 절 이상). 의미, 나는 각각의 테이블에있는 절이 "and"대신에 "or"가되도록 두 곳을 원합니다.나는 다음과 같은 문장을 형성하고 있습니다 : 원하는 결과를 달성하기 위해
Dim test = From d in myDocuments _
Join p in MyPlans on d.ID Equals p.ID _
Select d.Name, p.Name
나도 답변을 좋아합니다. +1 –