IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Correspondance C# et VB.Net LINQ


Sujet :

VB.NET

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 126
    Points : 94
    Points
    94
    Par défaut Correspondance C# et VB.Net LINQ
    Bonjour,
    j'ai trouve cette fonction permettant de faire une table Pivot en linq.
    Le probleme, c'est que je dois coder en VB.Net et cette requete est en C#

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    List<CustData> myList = GetCustData();
     
            var(query = myList)
            .GroupBy(c >= c.CustId)
                .Select(g => new {
                    CustId = g.Key,
                    Jan = g.Where(c => c.OrderDate.Month == 1).Sum(c => c.Qty),
                    Feb = g.Where(c => c.OrderDate.Month == 2).Sum(c => c.Qty),
                    March = g.Where(c => c.OrderDate.Month == 3).Sum(c => c.Qty)
                });
    Personne ne pourrais m'aider?

    Merci

    Ju
    Distillers Road --> Stronger Than Aquarius

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    La syntaxe est assez bizarre, du moins la ligne "var(query = myList)" qui veut pas dire grand chose (ou en tous cas je vois pas bien ce que ça veut dire). Donc je te propose un truc qui me semble à peu près équivalent...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim myList As List(Of CustData) = GetCustData()
     
    Dim query = myList _
            .GroupBy(Function(c) c.CustId) _
            .Select(Function(g) New With _
            { _
                    CustId = g.Key, _
                    Jan = g.Where(Function(c) c.OrderDate.Month = 1).Sum(Function(c) c.Qty), _
                    Feb = g.Where(Function(c) c.OrderDate.Month = 2).Sum(Function(c) c.Qty), _
                    March = g.Where(Function(c) c.OrderDate.Month = 3).Sum(Function(c) c.Qty) _
            })
    Ou avec la syntaxe de requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim query = From c In myList _
                Group c By c.CustId Into g _
                Select New With _
                { _
                    CustId = g.Key, _
                    Jan = g.Where(Function(c) c.OrderDate.Month = 1).Sum(Function(c) c.Qty), _
                    Feb = g.Where(Function(c) c.OrderDate.Month = 2).Sum(Function(c) c.Qty), _
                    March = g.Where(Function(c) c.OrderDate.Month = 3).Sum(Function(c) c.Qty) _
                }

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

Discussions similaires

  1. Différence entre ADO.net LINQ et commandes SQL
    Par ramzichouchan dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 01/07/2015, 16h49
  2. ADO.NET / Linq / Entity Framework
    Par alex61 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 31/01/2011, 13h39
  3. Réponses: 4
    Dernier message: 08/02/2006, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo