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 MVC Discussion :

[MVC4] Créer mes entités à partir de ma db [Débutant]


Sujet :

ASP.NET MVC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut [MVC4] Créer mes entités à partir de ma db
    Bonjour,

    Débutant en MVC, je vois qu'il y a moyen avec code first de créer des tables à partir de ses entités.

    Ma question est:
    l'inverse est-il possible ? donc créer ses entités à partir d'une DB existante.


    Dans VS 2010, c'est possible pour une application silverlight. On crée un nouvel EDMX (entity framework) et il propose de partir d'une DB existante (Sql Server par exemple).

  2. #2
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    Oui c'est possible ça s'appelle Database First.

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2010
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 92
    Points : 129
    Points
    129
    Par défaut
    Hello,

    rien de bien compliqué, il te faut pour cela dans ton model (c'est le plus simple au départ) ajouter un fichier de type .edmx (entity data model) et ensuite faire le lien entre ce fichier et ton application (ça se fait à la création du fichier).
    Tu pourras alors importer toutes tes tables et procédures stockées ce qui te permettra de générer les poco grace aux templates T4 (les fichier .tt).

    Bonne chance et n'hésites pas si tu as besoin d'aide supplémentaire

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Bonjour,

    Merci pour vos réponses

    J'avais entretemps trouvé (ça veut peut-être dire que je n'avais pas suffisamment cherché) un tutoriel présentant:

    New Database : Model First (model in designer) ou Code First (define classes & mapping in code)
    Existing Database : Database First (model in designer) ou Code First (define classes & mapping in code)


    Je vois donc qu'il y a aussi code First pour Existing Database... là ils mettent "Reverse engineer tools available".

    Il me semble dès lors que ça revient à choisir entre avoir son modèle dans un designer ou de définir ses classes.

    Ma question devient donc: Y a t'il une manière plus "propre", plus "commune", plus "moderne" de travailler entre ces deux méthodes ?

  5. #5
    Membre du Club Avatar de k4st0r42
    Homme Profil pro
    Artisan numérique
    Inscrit en
    Janvier 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisan numérique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 48
    Points : 68
    Points
    68
    Par défaut
    Tu peux très bien utiliser la méthode "code first" avec une base déjà existante (il te faut juste désactiver la génération de la base pour qu'elle ne soit pas écrasée lors de l'exécution).

    Par contre ça n'a pas beaucoup d’intérêt car tu fais le travail 2 fois, autant générer tes classes directement à partir de ta base, non ?
    Le fossé séparant théorie et pratique est moins large en théorie qu’il ne l’est en pratique.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Merci pour vos réponses


    Je commence à entrevoir les différentes possibilités

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2013
    Messages : 76
    Points : 143
    Points
    143
    Par défaut
    Pour l'utilisation de code first avec une base de donnée existante, il y a des outils pour générer les classes à partir de la base de données

    http://visualstudiogallery.msdn.micr...2-846072eff19d

    J'ai une nette préférence pour code first qui permet d'avoir des classes le plus personnalisable possible.

    Ensuite, si tu as besoin de faire des mises à jour. Avec les edmx, il faudra faire la modification sur la base de donnée puis mettre à jour le model.
    Avec code first, tu fera ta classe et avec les outils de migrations, tu pourra mettre à jour la base de données.

    Après pour le choix de l'approche EF, on pourrait se référer à ce diagramme:


    (http://thedatafarm.com/blog/data-acc...points-column/)

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/03/2013, 18h07
  2. Créer un jar pour mes entités
    Par saveriu dans le forum JPA
    Réponses: 2
    Dernier message: 14/01/2010, 15h04
  3. [FPDF] Créer un PDF à partir de mes données de MySQL
    Par legrec dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 23/07/2007, 09h53
  4. Créer une video à partir d'images
    Par Akta3d dans le forum DirectX
    Réponses: 5
    Dernier message: 13/07/2004, 14h46
  5. Comment créer un bitmap à partir d'un panel ?
    Par calou34 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 19/08/2003, 15h06

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