Bonjour,
Je récupère les résultats d'une requête de la façon suivante :
Tout fonctionne bien car cette requête ne retourne que des champs de la table CRITERE (classe CRITERE)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public IList<CRITERE> ListeCriteres(int type_bien) { string type = ";" + type_bien.ToString() + ";"; var dataContext = new HabitatDataContext(); var liste = from t in dataContext.CRITERE join t2 in dataContext.ZONE on t.FK_ZONE equals t2.ID_ZONE orderby t2.ORDRE where t.TYPES_BIEN.Contains(type) select t; return liste.ToList(); }
En revanche si je fais :
je retourne des champs de la table ZONE et donc, pas question de retourner un IList<CRITERE> !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 var liste = from t in dataContext.CRITERE join t2 in dataContext.ZONE on t.FK_ZONE equals t2.ID_ZONE orderby t2.ORDRE where t.TYPES_BIEN.Contains(type) select new { t.ID_CRITERE, t.LIBELLE_CRITERE, t.LIMITATION, t.ZONE.ID_ZONE, t.ZONE.LIBELLE_ZONE, t.ZONE.ORDRE };
J'ai pensé à créer une classe CRITERE_RICHE :
pour pouvoir retourner un IList<CRITERE_RICHE> mais bon :
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 public class CRITERE_RICHE { public int ID_CRITERE; public string LIBELLE_CRITERE; public string LIMITATION; public int ID_ZONE; public string LIBELLE_ZONE; public int ORDRE; public string NOTES; public CRITERE_RICHE() { } }
1 : je ne sais pas comment faire
2 : je pense que ce n'est pas très propre.
Pour info, j'ai besoin de cette méthode pour un ObjectDataSource, lui même utilisé dans un GridView.
Sauriez vous m'aider ? Par avance, merci.
T.
Partager