salut a tous!
J'ai 4 table dans ma BD: "personne", "adresses", "parc_etude", "parc_prof". je veux lire les données des 4 tables pour chaque personne. Donc je doit faire une jointure sur eux suivant le id de chaque personne. j'ai ecrit ce bout de code et il est fonctionnel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
internal ObjectResult Chercher()
         {  
 
            X23Pctx = new X23PEntities();
 
            var personneQuery = from Pers in X23Pctx.personnes
                                from Etud in X23Pctx.etudes
                                from ParProf in X23Pctx.parc_prof
                                from Adr in X23Pctx.Adresses
                                where Pers.id == Adr.id_personne
                                where Pers.id == Etud.id_personne
                                where Pers.id == ParProf.id_personne
                                orderby Pers.id
                                select new
                                    {
                                        Pers.id, Pers.nom, Pers.prenom, Pers.email, Pers.Tel,
                                        Adr.gouvernorat, Adr.ville, Adr.cite, Adr.rue, Adr.num
                                        Etud.ecole, Etud.specialite, Etud.debut, Etud.fin, Etud.resume,
                                        ParProf.etablissement, Deb = ParProf.debut,  Fin = ParProf.fin, ParProf.motif_depart
                                    };
 
            var ss =  ((ObjectQuery)personneQuery).Execute(MergeOption.AppendOnly);
Et j'affiche dans un Datagrid avec setautocolumn"true".

Mais le probléme est que le format de chaque ligne dans la Collection est du type Anonyme!!!
Donc si je recupere l'element selectionnné avec "datagrid.selecteditem"
Il me dit que c'est un objet de type anonyme. Donc je peut rien recuperer!!!

J'ai essayer ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 var CVQuery = (from  Pers in Personnes
 
                                join Adr in Adresses
                                on Pers.id equals Adr.id_personne
                                orderby Pers.id
                                select new
                                    {
                                        Pers.id, Pers.nom, Pers.prenom, Pers.email, Pers.Tel,
                                        Adr.gouvernorat, Adr.ville, Adr.cite, Adr.rue, Adr.num,
                                       // Etud.ecole, Etud.specialite, Etud.debut, Etud.fin, Etud.resume,
                                       // ParProf.etablissement, Deb = ParProf.debut,  Fin = ParProf.fin, ParProf.motif_depart
                                    });
Mais il peut pas joindre plus que 2 table!!!
Avez vous une idée comment recuperer la liste des personnes avec tout leurs données issuent des 4 tables mais dans un format autre que anonyme.
ou comment recuperer les données d'un objet de type anonyme.
Le but final est que j'affiche la liste des personnes dans une vue d'une region 1, et afficher une ligne dans une autre vue dans une autre region. et ç'est la personne selectionnée dans le 1er datagrid?
je suis perdue depuis 1 mois sans solution!!!