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

Entity Framework Discussion :

[MVC 3] [razor]db.table.** [Débutant(e)]


Sujet :

Entity Framework

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    .Net developer
    Inscrit en
    Février 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net developer

    Informations forums :
    Inscription : Février 2012
    Messages : 99
    Par défaut [MVC 3] [razor]db.table.**
    Bonjour,

    Cela fait 1 mois que je me suis lancé dans le développement .NET, et je galère...

    En gros, j'ai du mal à me servir de l'entity framework. Pourtant, la doc existe, mais reste très vague. Connaissez-vous un cours dans lequel je pourrais apprendre par quoi remplacer les "**" de mon titre?

    Aussi, sur le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ViewBag.typeCompte = New SelectList(db.client.Distinct, "typeCompte", "typeCompte")
    typeCompte ne peut être que "client" ou "prospect". J'aimerais donc récupérer une liste avec 2 éléments. Là, pour le moment, même avec le "Distinct", il me donne autant d'éléments qu'il n'y a de comptes dans la DB. Que dois-je faire pour fixer ça?

  2. #2
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Salut

    Citation Envoyé par patxy Voir le message
    Bonjour,

    Cela fait 1 mois que je me suis lancé dans le développement .NET, et je galère...

    En gros, j'ai du mal à me servir de l'entity framework. Pourtant, la doc existe, mais reste très vague. Connaissez-vous un cours dans lequel je pourrais apprendre par quoi remplacer les "**" de mon titre?
    Je comprends pas trop ta question, je ne vois pas de quoi tu parles quand tu parles des "**".

    En cours assez simple permettant de comprendre les bases il y a :
    http://www.asp.net/mvc/tutorials/get...-mvc3-part1-cs

    http://www.asp.net/mvc/tutorials/get...vc-application

    Citation Envoyé par patxy Voir le message
    Aussi, sur le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ViewBag.typeCompte = New SelectList(db.client.Distinct, "typeCompte", "typeCompte")
    typeCompte ne peut être que "client" ou "prospect". J'aimerais donc récupérer une liste avec 2 éléments. Là, pour le moment, même avec le "Distinct", il me donne autant d'éléments qu'il n'y a de comptes dans la DB. Que dois-je faire pour fixer ça?
    Si tu regardes le descriptif de la méthode SelectList que tu utilises, tu remarqueras que les arguments que tu passes sont incorrects.
    Le premier paramètres est la liste des items que tu veux afficher et les autres parametres le "displaymember" et le "valuemember".
    Dans ton code, tu passes la liste des clients et tu veux afficher son type de compte et tu veux "récupérer" le type de compte...

    Il faut plutot que tu récupère la liste et que tu la passes en paramètre.
    Un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var listTypeCompte = db.client.typeCompte.ToList();
    ViewBag.typeCompte = New SelectList(listTypeCompte , "id", "libelle")

  3. #3
    Membre confirmé
    Homme Profil pro
    .Net developer
    Inscrit en
    Février 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net developer

    Informations forums :
    Inscription : Février 2012
    Messages : 99
    Par défaut
    Tout d'abord, merci pour l'intérêt que tu me portes.

    Concernant la question "générale" de recherche de docs. En fait, je n'arrive pas trop à trouver quelque chose de complet sur les listes que j'ai besoin d'afficher. J'arrive pas à paramétrer mes requêtes.


    Pour la question plus précise sur le code, dans la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ViewBag.typeCompte = New SelectList(listTypeCompte , "id", "libelle")
    A quoi correspond le libellé?
    Je dois en fait afficher tout ce qu'il y a dans db.client.typeCompte


    edit : petit souci avec la première partie du code. (je suis en VB en fait).
    donc, lorsque je veux lancer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim listTypeCompte = db.client.typeCompte
    Je reçois comme erreur :
    'typeCompte n'est pas un membre de 'System.Data.Objects.ObjectSet(Of MVCApplication4.client).
    D'ailleurs aucune autre des colonnes de la DB n'est membre.

    Pas très grave. Si je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                Dim listTypeCompte = db.client.Distinct.ToList()
                ViewBag.typeCompte = New SelectList(listTypeCompte, "idClient", "typeCompte")
    Je récupère toujours la même chose. Une liste avec plein de fois Client, et plein de fois Prospect.
    A mon avis, c'est le distinct que je ne positionne pas bien. Meilleure idée que moi?

  4. #4
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    J'ai supposé que TypeDeCompte est une classe objet avec Id et Libelle.
    Maintenant si ce n'est pas une classe et uniquement des strings, tu peux utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ViewBag.typeCompte = New SelectList(listTypeCompte)

  5. #5
    Membre confirmé
    Homme Profil pro
    .Net developer
    Inscrit en
    Février 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net developer

    Informations forums :
    Inscription : Février 2012
    Messages : 99
    Par défaut
    Excuse moi, j'ai édité ma réponse pendant ta réponse.

    Ok, tout cela fonctionne. Mais je me retrouve toujours avec une liste qui ressemble à ça :
    Client
    Client
    Prospect
    Client
    Prospect
    Client
    Client...


    Or, je voudrais :
    Client
    Prospect


    Et je n'arrive pas à placer mon "distinct" (qui est je suppose le paramètre à placer, mais correctement).
    Si je comprends bien, là, il me renvoie tous les types de comptes qui existent chaque fois qu'il y a un client distinct (or, ils le sont tous). J'aimerais qu'il fasse le test pour ne pas qu'il n'y ait pas autant de résultats retournés

  6. #6
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Effectivement ca ne fonctionne pas puisque tu ne listes pas les bonnes choses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim listTypeCompte = db.client.Distinct.ToList()
    ViewBag.typeCompte = New SelectList(listTypeCompte, "idClient", "typeCompte")
    Ce code récupère tous les clients différents et les met dans une liste.
    Tu n'as pas une liste de type de compte mais de clients et tu affiches le typeCompte de chaque client.

    Il faut que tu récupères tous les types au lieu des clients.

    Je reçois comme erreur : 'typeCompte n'est pas un membre de 'System.Data.Objects.ObjectSet(Of MVCApplication4.client). D'ailleurs aucune autre des colonnes de la DB n'est membre.
    Effectivement j'ai fait ça vite fait et j'ai pas fait gaffe à la syntaxe qui est totalement fausse.

    Ton code doit ressembler à quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var listTypeCompte = (from c in db.client select c.TypeCompte).Distinct().ToList();

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

Discussions similaires

  1. utilisation de ckeditor dans asp.net mvc avec razor
    Par thor76160 dans le forum ASP.NET MVC
    Réponses: 0
    Dernier message: 24/12/2011, 10h34
  2. [Asp.Net MVC 3 Razor] erreur syntax
    Par mitnick2006 dans le forum ASP.NET MVC
    Réponses: 3
    Dernier message: 21/03/2011, 12h49
  3. [MVC] Objet avec deux tables
    Par angelo2007 dans le forum MVC
    Réponses: 1
    Dernier message: 11/01/2008, 08h42

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