Bonjour,
je cherche à faire quelque chose qui a l'air tout bête, j'ai trouvé apparemment la solution en C# sur le net mais je n'arrive pas a le transformé en vb.net.
j'obtient toujours le message suivant :
System.NotSupportedException*: 'Les tableaux construits ne sont pris en charge que pour Contains.'
j'ai simplifié une partie de mon linq pour me concentré que sur la problématique : cumuler 2 champs issu de la base de donnée en un tableau :
voici ce que je fais :
Dim allItems = From a in dc.tAgence.SelectMany(Function(t) {t.strEmailAgence, t.strEmailTechnique}.ToArray).ToList
et l'exemple que j'ai trouvé sur le net
1 2 3
| var allItems = objContext.MyTable
.SelectMany(t => new[] { t.Field1, t.Field2 })
.ToList(); |
il s'agit à la base de modification de code un traitement d'envoi de mail étant fait derrière, les sources étant différente d'avant, je veux obtenir la même structure de retour que précédemment afin de ne pas y toucher.
je pourrais le faire autrement qu'en linq, mais c'est l'occasion d'utilisé "SelectMany" que je n'ai jamais eu l'occasion d'utiliser, et de le comprendre.
il ne s'agit que d'un morceau donc de mon linq, le but étant d'avoir par rapport à des "idAgence" une liste de la sorte :
une liste d'idagence qui contient une liste d'email dont la source est donc issu des 2 champs (pouvant l'un ou l'autre être "Nothing")
- 59
- tata@mail1.com
- toto@mail1.com
- 62
- titi@mail1.com
- tutu@mail1.com
- 68
- tete@mail1.com
- toutou@mail1.com
je vous remercie d'avance.
Partager