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 :

Select new => Accès Field par son nom


Sujet :

Linq

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Février 2014
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Select new => Accès Field par son nom
    Bonjour

    Dans un fonctionnement typé, nous avons des requêtes du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Context.Articles
    .include(p=>p.Type_ARTICLE)
    .Select( p=> new { Code = p.Code, ... }
    Maintenant, j'aimerais faire un code similaire mais de façon générique
    Quelquechose du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Context.GetField("Articles")
    .include(p=>p.GetField("Type_ARTICLE"))
    .Select( p=> new { Code = p.GetField("Code"), ... }
    Evidemment, GetField n'existe pas. Pourriez vous me dire comment faire ?

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2018
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2018
    Messages : 34
    Points : 47
    Points
    47
    Par défaut
    salut,
    tu trouvera ton bonheur sur se site :
    http://www.tugberkugurlu.com/archive...sting-triangle

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Février 2014
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Bonjour

    Je n'ai pas l'impression que cet article réponde à mon besoin
    J'ai besoin d'interroger et de retourner des données que je ne connais que par des noms de type string (depuis une classe de base)
    Il peut y avoir des centaines de tables et des milliers de champs possibles donc la solution de rajouter des méthodes n'est pas une solution

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2018
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2018
    Messages : 34
    Points : 47
    Points
    47
    Par défaut
    j'ai pas fait de test mais j'ai un début de réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var entity = _Context.Model.FindEntityType(table);
     
    var property = entity.FindProperty(champs);
     
    var getEntry = _Context.Entry(entity);
    après cette étape je ne sais pas comment récupérer les information dont tu a besoin.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Février 2014
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Merci mais FindEntityType est utilisé dans Entity Framework Core, et ce n'est pas mon cas
    Je suis en WinForm avec EF6

  6. #6
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Citation Envoyé par Franck.jobard
    Je suis en WinForm avec EF6
    Citation Envoyé par Franck.jobard
    J'ai besoin d'interroger et de retourner des données que je ne connais que par des noms de type string (depuis une classe de base)
    Il peut y avoir des centaines de tables et des milliers de champs possibles donc la solution de rajouter des méthodes n'est pas une solution
    L'objectif d'Entity Framework est de mapper ton modèle de données avec un modèle objet, facilitant ainsi l'accès et la manipulation des données notamment en leur donnant des propriétés nommées justement faites pour éviter de mettre le nom des colonnes en dur.
    En gros pour pour éviter d'avoir à faire ce que tu cherches à faire.

    Si tu veux attaquer tes données uniquement par noms de tables et de colonnes (obtenus on ne sais pas trop comment), je te suggère de faire directement une requête.

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/10/2013, 12h36
  2. tester présence objet avant accès par son nom
    Par jfchappuis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2011, 07h53
  3. Accés à un JTextField par son nom
    Par 8itit dans le forum Composants
    Réponses: 1
    Dernier message: 17/07/2009, 09h39
  4. Accéder à un serveur linux par son nom
    Par flatron dans le forum Réseau
    Réponses: 6
    Dernier message: 01/07/2004, 14h27
  5. Réponses: 4
    Dernier message: 06/06/2004, 12h07

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