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

ASP.NET Discussion :

Valeur de retour


Sujet :

ASP.NET

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 133
    Par défaut Valeur de retour
    Bonjour,

    relié à une base de donnée, je récupère les clefs primaires de deux de ses tables, qui peuvent etre equivalentes (ex : dans la table video : id_video = 10, dans la table audio : id_audio = 10).

    Je sais qu'un simple changement dans la base de donnée arrangerait tout mais, qu'importe.

    Je souhaite, effectuer une fonction qui retourne l'objet (avec de linq) à partir de son identifiant.
    Seul souci, c'est que je ne peux pas savoir le type d'objet relié à l'id.
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    protected void VIDEO getVideoFromID(int id);
    {
         VIDEO _maVideo = monDataContext.VIDEO.Single(v => v.id_video);
         return _maVideo
    }
    Dans une autre fonction :
    VIDEO _maVideo = getVideoFromID(10);
    Souci : le 10 peut aussi bien etre d'un autre type (AUDIO par exemple),
    donc ma requete sera fausse.

    Ne peut-on pas retourner un type générique ? Quelque chose qui aurait la valeur de var dont on pourrait récupérer le type ensuite ?

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Comment tu sais qu'avec ton 10 il faut aller dans la table audio ou video?

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 133
    Par défaut
    Justement, c'est le problème.

    je veux créer une fonction getVIDEO/AUDIObyID(int id) mais je ne peux savoir à quoi l'id correspond vraiment.

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Y'a un problème de conception la...
    Y'a bien a un moment ou tu dis 10 est un audio ou une video! C'est dans ta base?

  5. #5
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    mais je ne peux savoir à quoi l'id correspond vraiment.
    Je vois ça comme un défaut conceptuel de ta base...

    A la rigueur, tu peux utiliser un type générique. Ta méthode Get va tester d'abord dans la table Vidéo, si pas de résultat alors elle testera ta table Audio pour renvoyer l'enregistrement correspondant à l'ID. L'inconvénient, c'est que tu dois faire deux requêtes au lieu d'une si l'ID correspond à Audio et non Vidéo.

    Le mieux c'est de revoir ton schéma BDD

  6. #6
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Par défaut
    Lorsque tu tape dans ton dataContext :

    Tu tape dans les video. Alors tu ne peux retourner que des vidéos. J'imagine que tu à aussi un EntitySet nommée AUDIO.

    Le tout est peut être de savoir avant l'appel à la base ce que tu cherche. Mais il me faut plus d'informations pour en dire davantage.

Discussions similaires

  1. Valeur de retour d'une procédure stockée
    Par Rudyweb dans le forum MFC
    Réponses: 4
    Dernier message: 25/02/2005, 17h52
  2. fonction operator, valeur de retour
    Par butch dans le forum C++
    Réponses: 21
    Dernier message: 20/09/2004, 10h30
  3. [VB6] Valeur de retour pour une Form
    Par preverse dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/08/2004, 17h16
  4. Valeur de retour d'une procédure externe
    Par elekis dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 16/04/2004, 16h45
  5. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 13h58

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