Bonjour à vous amis développeur ! Cela fait un petit moment que je n'ai pas eu de question à poser car j'avais délaissé le côté LINQ to SQL pour toute requête utilisant des jointures ou trop complexe en utilisant des procédures stockées.
Mais j'ai un peu de temps devant moi car je suis en avance sur mon cahier des charges donc je peux me permettre qq modifications (ou entrainement appelez ça comme vous le voulez
Afin d'alléger le trafic réseau, je souhaite retourner une partie de mes objets entity. En effet certaines de mes tables de la DB contiennent plus de 100 champs (par exemple un patient). Or il y a des endroits dans mon application ou je dois afficher la liste des noms des patients. Et je ne souhaite pas retourner x lignes * y champs mais xlignes * 2 champs (idPatient et nomPatient par exemple)
(voir code ci dessous)
Cela ne pose aucun problème avec un SELECT new Patient { idPatient = p.idPatient .....} mais comme idPatient est une clé primaire, je ne peux pas l'affecter ! En gros idPatient = p.idPatient m'est impossible sauf si je décoche la propriété Primary Key du champs sous visual studio.
Pour l'instant j'ai désactiver les clés primaires. Mais cela ne me plait pas :/ Donc si vous avez une solution je suis preneur.
Une deuxième question concerne l'insertion de clause if dans ma requête. Comment faire un swich case ou if dans une clause where en fonction d'un paramètre passé ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 if (typeEmploye == "c") { return (from e in dbc.EMPLOYE join u in dbc.USERS on e.EMP_ID equals u.USR_EMP_ID where u.USR_EST_COMMERCIAL == 1 select new EMPLOYE {EMP_ID = e.EMP_ID, EMP_NOM = e.EMP_NOM}).ToList(); } else { return (from e in dbc.EMPLOYE select new EMPLOYE { EMP_ID = e.EMP_ID, EMP_NOM = e.EMP_NOM}).ToList(); }
Merci à vous, cordialement, et désolé si mon post n'est pas au bon endroit.
Nk54
Partager