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

C# Discussion :

liste sans les connexions annexes


Sujet :

C#

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut liste sans les connexions annexes
    Bonjour à tous,
    J'ai créé mon modèle entité avec Entity Framework et je souhaite créer une liste qui ne récupère pas les propriétés de navigabilité.
    j'ai une entité catégorie (id, nomcategorie) et une entité client. Une catégorie concerne plusieurs clients (dans dans mon entité catégorie, j'ai comme propriété de navigabilité la collection de clients).
    j'ai créé ma liste : contexte.categorie.ToList() mais elle fait référence aux clients.
    Alors comment faire pour ne pas les prendre en compte? (ma liste doit avoir strictement les 2 champs id et nomcategorie)
    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par défaut
    Tu as un mode dans Entity qui permet de charger à la demande les propriétés de navigabilité. Je pense que si tu cherches un petit tuto sur Entity tu devrais en entendre parler

    Lazy Loading Enabled je crois

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut
    Merci Morgand, je vais regarder

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut
    Ok, ça avance: les connexions annexes ne sont pas pris en compte avec cette option:
    contexte.ContextOptions.LazyLoadingEnabled = false;

    Mais mon problème n'est pas encore résolu car ma liste contient des valeurs dans EntityKey .....

    En effet, je dois avoir une liste qui ne doit retourner uniquement et seulement ça : mes champs id et nomcategorie.

    A suivre j’espère....

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par défaut
    Ton problème vient de la génération du code via tes fichiers XML, je te conseille d'installer cette extension ; Entity Poco generator qui va réaliser tes rêves

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Le Lazy Loading n'a rien à voir, il permet de charger en cascade toutes les jointures ou non.

    Le POCO Generator permet d'avoir des POCOs à partir des entités EF. Un POCO est un objet qui ignore comment il est persisté, on ne garde plus que la structure de données.

    Par contre, tu as l'air de dire que tu ne veux que les champs qui ne sont pas des références vers d'autres classes. Malheureusement, je ne crois pas que ça existe (et je ne vois pas trop l'utilité que ça a, peut être devrais tu mieux réfléchir à ton besoin).

    Le seul moyen que je vois est que tu dois créer une autre structure de données, qui prenne un objet EF en paramètre de constructeur et qui ne recopie que les champs que tu souhaites. Par contre, je précise à nouveau que c'est assez sale et que ça ne devrait pas être fait normalement.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

Discussions similaires

  1. [XL-2010] Renvoyer une liste sans les doublons
    Par beabianchini dans le forum Excel
    Réponses: 8
    Dernier message: 24/06/2015, 22h26
  2. liste sans les connexions annexes
    Par philbon dans le forum Entity Framework
    Réponses: 1
    Dernier message: 05/10/2012, 14h58
  3. [E-03] Macro pour créer une liste sans les vides
    Par PYJ59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/12/2008, 10h19
  4. Programme vb6 copier liste sans répéter les noms
    Par nuage33 dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 26/10/2006, 10h06
  5. Réponses: 3
    Dernier message: 24/04/2006, 19h56

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