linq ne prend en charge que la jointure interne, comment faire une jointure à gauche en utilisant la requête linq. également linq prend en charge la jointure uniquement en utilisant le mot-clé 'equals' mais est-il possible d'utiliser d'autres conditions de jointure?comment faire une jointure à gauche et une condition de jointure> = avec linq
0
A
Répondre
2
Comme ceci:
from tableA in dataContext.TableA
from tableB in dataContext.TableB.Where(b => b.Id == a.TableBId).DefaultIfEmpty()
select new { tableA, tableB };
Ensuite, vous pouvez changer la condition dans la clause Where d'utiliser quel que soit l'opérateur.
L'utilisation de tout élément autre que égal dans l'opérateur de jointure n'est pas possible.
Il existe d'autres façons de le faire, comme: http://www.hookedonlinq.com/OuterJoinSample.ashx