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

Framework .NET Discussion :

[Entity Framework] utiliser une procédure sockée sans mappage avec entité


Sujet :

Framework .NET

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2006
    Messages : 131
    Points : 83
    Points
    83
    Par défaut [Entity Framework] utiliser une procédure sockée sans mappage avec entité
    Bonjour,

    Je voulais savoir si il existe un moyen d'utiliser une procédure stockée via mon edm sans que cette dernière soit mappée avec l'insert, l'update ou le delete d'aucune entité.
    Avec Linq to SQL ceci ne posait pas de problème, je pouvais faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    using(MonDataContext db = new MonDataContext())
    {
       db.MaProcedureStockee(Param1, Param2);
    }
    Est-ce que c'est possible de faire ce genre de chose avec Entity FrameWork et si oui comment?

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2006
    Messages : 131
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    N'ayant eu aucune réponse je me suis dis que ma question ne devait pas être très claire.
    Dans le mode graphique (fichier .dbml) de Linq to Sql il y a un panneau "Méthodes" qui permet d'ajouter des procédures stockées depuis l'explorateur de serveur.
    Je voulais savoir si dans le mode graphique (fichier .edmx) d'Entity Framework il n'existerait pas une méthode semblable pour y ajouter/mapper des procédures stockées.

  3. #3
    Membre actif
    Inscrit en
    Mai 2004
    Messages
    297
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 297
    Points : 207
    Points
    207
    Par défaut
    Salut,

    Oui tu peux appeler une procedure stockée de manière 'autonome'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     using (EntityConnection conn = new EntityConnection(ConfigurationManager.ConnectionStrings["MyConn"].ToString()))
                {
                    conn.Open();
                    EntityCommand cmd = conn.CreateCommand();
                    cmd.CommandText = "NameofProcedure";
                    cmd.CommandType = CommandType.StoredProcedure;
                     cmd.ExecuteNonQuery();
     
                }
    C'est dans le cas ou la procedure stockée est de type 'procedure'.
    Dans le cas d'une procedure stockée de type fonction il faut faire cmd.ExecuteScalar : exemple :

    guid = (Guid)cmd.ExecuteScalar(); et non cmd.ExecuteNonQuery();

    J'avais créé un post concernant ce problème :

    Procedures stockées

    Bon courage ++

Discussions similaires

  1. Utiliser une procédure stockée dnas Framework C8
    Par Darcynette dans le forum Cognos
    Réponses: 4
    Dernier message: 14/12/2007, 19h22
  2. Utiliser une feuille Excel sans Excel ?
    Par mosquitout dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 27/05/2007, 19h59
  3. [Oracle] Exécuter une procédure stockée sans en attendre le résultat
    Par glutock dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/02/2007, 13h54
  4. Réponses: 3
    Dernier message: 04/05/2006, 14h59
  5. Comment utiliser une BDD GDB sans installer interbase ?
    Par QAYS dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/05/2006, 15h31

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