Digamos que tengo los planos y documentosLINQ a SQL y unir dos tablas con la cláusula OR
Dim myPlans = _context.Plans.Where(predicate1)
Dim myDocuments = _context.Documents.Where(predicate2)
He estructurado la cláusula where para cada uso de PredicateBuilder. Entonces, myPlans y myDocuments tienen una declaración SQL correcta.
Lo que me gustaría hacer es unir estas dos tablas en una sola instrucción linq. El problema que tengo es que, por defecto, la condición AND se une a las cláusulas where.
myPlans Where cláusula: (p.name como "% test%" AND p.name como "% bed%") O (p.description como "% test%" AND p.description like "% bed%")
myDocuments Where cláusula: (d.name like "% test%" AND d.name like "% bed%") O (d.description como "% test%" AND d.description like "% bed% ")
Cuando combino el resultado dos la deseada cláusula WHERE es:
donde (d.ID = p.ID) y (myplans donde cláusula anterior) O (mydocument donde cláusula anterior). Es decir, me gustaría que las dos cláusulas where de cada una de las tablas sean "o" en lugar de "Y".
El resultado actual en la cláusula es: Donde (d.ID = p.ID) y (myplans donde cláusula anterior) Y (mydocument donde cláusula anterior). Es decir, me gustaría que las dos cláusulas where de cada una de las tablas sean "o" en lugar de "Y".
Estoy formando la sentencia como esta:
Dim test = From d in myDocuments _
Join p in MyPlans on d.ID Equals p.ID _
Select d.Name, p.Name
me gusta su respuesta también. +1 –