LINQ to SQL et Joindre deux tables avec OU clause

Disons que j'ai des Plans et des Documents

Dim myPlans = _context.Plans.Where(predicate1)
Dim myDocuments = _context.Documents.Where(predicate2)

J'ai structuré la clause where pour chaque utilisation PredicateBuilder. Donc, myPlans et documents ont une bonne instruction SQL.

Ce que je voudrais faire est de rejoindre ces deux tables dans une linq déclaration. Le problème que je vais avoir, c'est que, par défaut, ET la condition est de rejoindre les clauses where.

myPlans clause where : (p.nom like "%test%" ET p.nom like "%lit%") OU (p.description like "%test%" ET p.description like "%lit%")

myDocuments clause where : d.nom like "%test%" ET d.nom like "%lit%") OU (d.description like "%test%" ET d.description like "%lit%")

Quand je combine les deux le désiré résultat clause where est:
Où d.ID = p.ID) ET
(myplans où la clause ci-dessus) OU (mydocument où la clause ci-dessus). Sens, j'aimerais que les deux clauses where dans chacune des tables "ou" au lieu de "Et".

Le résultat actuel où la clause est:
Où d.ID = p.ID) ET
(myplans où la clause ci-dessus) ET (mydocument où la clause ci-dessus). Sens, j'aimerais que les deux clauses where dans chacune des tables "ou" au lieu de "Et".

Je suis formant l'instruction de ce genre:

Dim test = From d in myDocuments _
           Join p in MyPlans on d.ID Equals p.ID _
           Select d.Name, p.Name

OriginalL'auteur sugarcrum | 2009-04-23