optimisation, simplification de code sur une requete LinQ avec table jointe
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:
Code:
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?) |
-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