Bonjour à tous,
J'ai un code qui fonctionne bien sur une requete LinQ et je voulais savoir si il était possible de l'optimiser un peu
Contexte:
-Une table Jonction avec entre autre, une colonne ReponseSEQ qui contiens dans chaque champs l'ID d'une autre table LesQuestions.
-Dans cette colonne ReponseSEQ (int) il ya de nombreuses répétition du même int et ce int correspond donc à des valeurs de clé primaire de mon autre table( colonne QuestionID (int) ).
- Après un traitement que je n'exposerai pas ici j’obtiens a partir de la table Jonction par une requete Linq le int que je recherche. Cool!
- A partir de cette clé primaire que j'ai récupérer, je souhaite afficher dans un label la valeur contenu dans la colonne Question de ma tableLesQuestions
je fait donc ceci:
-Tous ce code fonctionne très bien mais je me demandais si il n'y avait pas moyen de raccourcir le nombre de ligne de code et surtout d'éviter le maintient de cette connection a la table db vu que mes 2 tables sont jointe via un "(1-----*)" entre QuestionID (clé primaire ) et la colonne ReponseSEQ et que je veut juste un affichage de la valeur d'un champs d'une colonne à partir de lsa clé primaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int FirstQ = Soluce; // valeur de la clé primaire (obtenu sur ma table "Jonction") // traitement sur la table LesQuestions var toda = from p in db.LesQuestions where p.QuestionID == FirstQ // Sur la colonne qui contiend les clé primaire je recherche FirstQ select p.Question; // affiche la valeur de la colonne Questions qui correspond string Thevaleur = toda.First(); // comme toda est un Iqueryable je lui demande juste le 1ere (et unique ) element repetour.Text = TheValeur; // j'affiche dans mon label repetour TheValeur qui est une chaine de char (ex: Vous avez faim?)
Partager