[QUOTE=labiko445;7974819]...voic ma requette qui retourne bien un resultat mais avec une redondance de donnees
mais comment faire un distinct sur cette requette :
1 2 3 4 5 6 7 8 9 10 11
|
var query = from a in dc.Region
join b in dc.Annonce
on a.IdReg equals b.idRegion
join z in dc.Annonceur on b.idAnnonceur equals z.IdAnnonceur
join e in dc.Commentaire on
b.IdAnn equals e.IdAnn
where (b.IdAnn == ids )
select new Ann_Region_Cate { Region = a, Annonce = b, Annonceur = z,Commentaire = e };
return View(query.ToList()); |
.../QUOTE]
Comme tu viens de le lire, j'ai souligné quelques ambigüité dans ta requête. Soit par exemple:
ici a est une valeur recherchée dans l'entité Région, il en est de même pour
ainsi de suite...
Le Select n'est que le résultat de ce que tu as demandé ou écrit, en l’occurrence:
1 2
|
select new Ann_Region_Cate { Region = a, Annonce = b, Annonceur = z,Commentaire = e } |
Un peu plus haut, tu écrivais:
ceci veut dire que tu recherches l'entité région a dans la liste des Régions dc.Region.
Pour rappel, les entités doivent avoir des clés primaires pour plus de maniabilité. Et les sélections des entités devront se faire à partir de leurs clés ou certains attributs.. En clair, l'erreur vient de ton :
1 2
|
select new Ann_Region_Cate { Region = a, Annonce = b, Annonceur = z,Commentaire = e } |
Dans ce dernier code:
-on ne sait d'où sort Ann_Region_Cate. Est ce une entité??
-
Region = a, Annonce = b, Annonceur = z,Commentaire = e
. Dans cette partie, celle d’où vient probablement les doublons, tu utilise les Entités comme des attributs.
En clair, tu devrais utiliser de quelconques attributs en lieu et place des Entités, des attributs dans le Select:
1 2
|
select new Ann_Region_Cate { Attribut.Region = Attribut.a, Attribut.Annonce = Attribut.b, Attribut.Annonceur = Attribut.z,Attribut.Commentaire = Attribut.e } |
Cordialement.
Partager