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

Linq Discussion :

Linq specifier les colonnes


Sujet :

Linq

  1. #1
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 17
    Par défaut Linq specifier les colonnes
    Bonjour,

    Savez comment specifier par exemple les colonnes suivantes id, propositionID, name, status dans la requetes suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            public static IList<tbl_dealmaker_RevenueStreams> getRevenueStreamForGridview(int _propositionID)
            {
                return Model.tbl_dealmaker_RevenueStreams.Where(e => e.PropositionID == _propositionID && e.Status == "1").ToList();
            }
    La requete ci-dessus fonctionne mais elle retourne toutes les colonnes de la table (Il y en a 40).

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut
    avec .select

  3. #3
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 17
    Par défaut
    Je ne vois pas bien comment utiliser cette clause. Dans le cas ou je veux retourner les 2 champs suivants : id et propositionID le code ci-dessous ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            public static IList<tbl_dealmaker_RevenueStreams> getRevenueStreamForGridview(int _propositionID)
            {
                return Model.tbl_dealmaker_RevenueStreams.Where(e => e.PropositionID == _propositionID && e.Status == "1").Select(s => s.id, s.propositionID).ToList();
            }

  4. #4
    Membre éprouvé
    Avatar de jgard
    Profil pro
    Inscrit en
    Août 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 67
    Par défaut
    Bonjour,

    Tu pourrais utiliser une requête linq directement avec un type anonyme. Ton code serait du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var query = from r in Model.tbl_dealmaker_RevenueStreams
                    where r.PropositionID == _propositionID && r.Status == "1"
                    select new
                   {
                        ID = r.ID,
                        PropositionID = r.PropositionID
                   };
    Tu récupères ainsi uniquement les données qui t'intéressent.
    Par contre, il s'agit d'un type anonyme que tu ne peux donc pas retourner en dehors de ta méthode. Pour cela, il faudrait en plus créer un type contenant seulement les propriétés dont tu as besoin.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut
    Select(new {r.id, r.propositionID})


  6. #6
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 9
    Par défaut tiens ta soluce
    salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Model.tbl_dealmaker_RevenueStreams
    			.Where(e => e.PropositionID == _propositionID && e.Status == "1")
    			.Select(e => new  {e.id, e.propositionID, e.name, e.status} )

    Gardes à l'esprit que tous les mots clés qu'on utilise classiquement sous la forme var query = (from .....); font référence à des méthodes directement accessibles par la forme contractée que tu utilises.
    En conclusion, tu peux tout faire sous cette forme.

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/07/2011, 16h22
  2. [Swing]JTable- Dimensionner les colonnes
    Par loutfi dans le forum Composants
    Réponses: 12
    Dernier message: 01/07/2011, 08h50
  3. select specifier les x premières colonnes
    Par charlyoleg dans le forum Requêtes
    Réponses: 3
    Dernier message: 29/11/2010, 18h33
  4. specifier les chemins des .class
    Par draken dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2003, 09h35
  5. [VB6] [ADO] Procedure stockée : spécifier les paramètres
    Par adepdoom dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/10/2002, 10h45

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