Cross Join avec Linq to Dataset
Bonjour à tous,
Je débute en .Net et là, je galère.
Je travaille sur un dataset contenant deux tables "ListeDocs" et "ListeFics"
C'est un dataset qui n'est lié à aucune source vu que je travaille uniquement en mémoire.
ListeDocs est composée de 3 champs :
id as integer
chaine as string
subflddest as string
ListeFics est composée de 6 champs :
id as integer
nom as string
chemin as string
creationdate as date
modifdaste as date
extension as string
Je souhaite faire une jointure croisée (aussi appelée "produit cartésien" ou "cross join") sur ces deux tables et récupérer tous les champs des deux tables dans un datatable.
Voici mon code
Code:
1 2 3 4 5
|
Dim query = From Docs In ds.Tables("ListeDocs").AsEnumerable()
From Fics In ds.Tables("ListeFics").AsEnumerable()
Where Fics.Field(Of String)("nom").Contains(Docs.Field(Of String)("chaine"))
Select Docs, Fics |
Mon problème, c'est que la méthode "CopyToDataTable" n'est pas disponible pour mon objet "query"
En revanche, dès que je mets uniquement Docs OU Fics dans ma clause Select, la méthode CopyToDataTable est accessible pour mon objet "query".
Je ne comprends pas...
Merci de m'aider.