Précédent   Forum du club des développeurs et IT Pro > Dotnet > Accès aux données
Accès aux données Forum d'entraide sur les technologies d'accès aux données de Microsoft (ADO.NET, Linq, Entity Framework, etc.).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/09/2012, 16h29   #1
HurGeek
Nouveau Membre du Club
 
Inscription : octobre 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 58
Points : 38
Points : 38
Par défaut Linq to SQL group by id

Bonjour à tous,
J'ai l'impression d'avoir à faire à un bug de linq car je m'arrache les cheveux depuis plusieurs jours et aucune des solutions trouvées sur internet ne fonctionne...
Mon problème (simplifié) : j'ai une base de données avec plusieurs champs, dont un code identifiant qui identifie un objet (mais pas la ligne !), pour un même objet je peux donc avoir plusieurs lignes correspondantes.
Je souhaite créer un dictionnaire de liste d'objets avec comme clé l'identifiant de l'objet et comme élément du dictionnaire une liste d'objet.
J'ai donc à faire à un group by classique il me semble !
Je travaille sous entityframework en C#,
j'essaye donc :
Code :
1
2
3
4
 
var groupData = from data in maBase.maTable
group data by data.id;
return groupData.todictionnary(f=>f.id,f=f.ToList());
Normalement à cette étape, je devrais avoir dans mon dictionnaire mes objets groupés par id, et pour chaque id une liste d'objet... Or j'ai pour la majorité de mes identifiant, je me retrouve avec un seul objet, et pour certains plusieurs...je n'y comprend absolument rien...
Si quelqu'un à une idée...
merci par avance !
HurGeek est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/09/2012, 23h39   #2
youtpout978
Membre Expert
 
Homme John Doe
Développeur .NET
Inscription : novembre 2010
Messages : 933
Détails du profil
Informations personnelles :
Nom : Homme John Doe
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : novembre 2010
Messages : 933
Points : 1 504
Points : 1 504
Bonjour,
je pense que tu t'es trompé dans la construction de ton dictionnaire c'est f.key et non f.id
youtpout978 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2012, 08h16   #3
GuruuMeditation
Expert Confirmé
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
.Net Architect
Inscription : octobre 2010
Messages : 1 353
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : .Net Architect
Secteur : Conseil

Informations forums :
Inscription : octobre 2010
Messages : 1 353
Points : 2 870
Points : 2 870
Envoyer un message via MSN à GuruuMeditation
Et il manque un ">" dans "f=f.ToList()"
__________________
Microsoft MVP : Visual C#

MCPD - Windows Phone Developer
MCPD - Windows Developer 4

http://www.guruumeditation.net

“If debugging is the process of removing bugs, then programming must be the process of putting them in.”
(Edsger W. Dijkstra)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/09/2012, 08h54   #4
HurGeek
Nouveau Membre du Club
 
Inscription : octobre 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 58
Points : 38
Points : 38
le f.key était bien là et j'avais bien mis le > le problème ne vient pas de là
HurGeek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2012, 16h24   #5
youtpout978
Membre Expert
 
Homme John Doe
Développeur .NET
Inscription : novembre 2010
Messages : 933
Détails du profil
Informations personnelles :
Nom : Homme John Doe
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : novembre 2010
Messages : 933
Points : 1 504
Points : 1 504
si tu pouvais mettre la requête que tu utilises vraiment, après as-tu vérifié que tes résultats correspondent bien à ce que tu as en bdd ?
youtpout978 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2012, 19h21   #6
jackyaq
Invité de passage
 
Inscription : octobre 2012
Messages : 1
Détails du profil
Informations forums :
Inscription : octobre 2012
Messages : 1
Points : 1
Points : 1
namespace ForumMFEQ.Areas.Admin.Controllers
{
public class HistoriquesController : Controller
{
//
// GET: /Admin/Historiques/
private ForumEntities _db = new ForumEntities();

public ActionResult Index()
{
var groupData = from data in _db.FRM_LOG
group data by data.ADRESSEIP;

return View(groupData.ToDictionary(f => f.Key, f => f.ToList()));
}

}
}

Merci !!
jackyaq est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h20.


 
 
 
 
Partenaires

Hébergement Web