Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre régulier Avatar de kimausoleil
    Homme Profil pro Christophe
    Développeur informatique
    Inscrit en
    février 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Nom : Homme Christophe
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : février 2004
    Messages : 126
    Points : 91
    Points
    91

    Par défaut Linq to Entities Group By

    Bonjour !

    J'ai simplement une requête Linq qui doit me renvoyer une liste d'entités par un Group By.

    J'ai essayé cela :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim liste as List(Of Saison)
    liste = (From s In _db.Saisons
                    Group By s.ID, s.Debut, s.Fin, s.Libelle Into Group
                    Select New Saison With {
                        .ID = ID,
                        .Debut = Debut,
                        .Fin = Fin,
                        .Libelle = Libelle
                        }
                    ).ToList
    Et là j'ai une exception :
    Le type d'entité « Saison » ne peut pas être construit dans une requête LINQ to Entities.
    Ai-je une erreur de syntaxe ?


    Résultat, je suis passé par 2 étapes :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
            Dim query = From s In _db.Saisons
                        Group By s.ID, s.Debut, s.Fin, s.Libelle Into sais = Group
                        Select New With {
                                    .ID = ID,
                                    .Debut = Debut,
                                    .Fin = Fin,
                                    .Libelle = Libelle
                            }
     
            Dim liste As New List(Of Saison)
            For Each sais In query
                liste.Add(New Saison With {
                          .ID = sais.ID,
                          .Debut = sais.Debut,
                          .Fin = sais.Fin,
                          .Libelle = sais.Libelle})
            Next
    Mais je ne trouve pas très satisfaisant de devoir passer par un type anonyme, et de re-boucler pour créer toutes mes saisons...


    Merci pour vos idées.

  2. #2
    Expert Confirmé
    Avatar de GuruuMeditation
    Homme Profil pro Olivier Matis
    .Net Architect
    Inscrit en
    octobre 2010
    Messages
    1 591
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Matis
    Âge : 39
    Localisation : Belgique

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

    Informations forums :
    Inscription : octobre 2010
    Messages : 1 591
    Points : 3 197
    Points
    3 197

    Par défaut

    Non, tu fais bien, avec linq to entity tu dois le faire comme ça car Entity ne connais pas ta classe.
    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)

  3. #3
    Membre régulier Avatar de kimausoleil
    Homme Profil pro Christophe
    Développeur informatique
    Inscrit en
    février 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Nom : Homme Christophe
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : février 2004
    Messages : 126
    Points : 91
    Points
    91

    Par défaut

    Citation Envoyé par GuruuMeditation Voir le message
    Non, tu fais bien, avec linq to entity tu dois le faire comme ça car Entity ne connais pas ta classe.
    Ok

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •