0
votes

Framework entité Framework Core Echafaudage supplémentaire Tableaux non contextuels

de la documentation Microsoft:

https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existinging-db

Lorsque vous essayez d'inverser l'ingénieur, vos modèles et DBContext d'un existant base de données, vous pouvez exécuter une commande comme ceci: xxx

Cela me créera deux modèles et un dBContext basé sur mes détails de connexion.

si je veux Pour revenir plus tard et ajouter quelques tables supplémentaires, est-il possible d'exécuter la même commande ou quelque chose de similaire avec différents paramètres que ne créera plus que le dBContext , comme je l'ai déjà depuis mon échafaudage initial.

Nous exécutons actuellement la commande à nouveau et en supprimant le contexte à chaque fois, ou construisant manuellement tous les nouveaux modèles basés sur les tables de base de données. Il semble compter de manière productive.

dans la structure d'entité 6 et moins, nous maintenions simplement le diagramme EDMX, mais cela n'est évidemment pas inclus dans l'EFCORE.


0 commentaires

3 Réponses :


1
votes

Dans EFCORE, il n'ya vraiment pas de soutien pour la première conception de la base de données. La fonction d'échafaudage ne signifie que nécessairement être une opération ponctuelle permettant de construire vos premiers modèles / contextes de code afin de ne pas avoir à les donner à la main pour que vous puissiez commencer à utiliser EF. Une fois exécuté la première fois, vous devriez passer aux migrations EF au lieu d'échafaudages pour faire face aux ajouts / mises à jour / suppression du schéma.

Voici la documentation MS pour les migrations: https: / /docs.microsoft.com/en-us/ef/core/Maning-schemas/migrations/


3 commentaires

"La fonctionnalité des migrations dans EF CORE fournit un moyen de mettre à jour progressivement le schéma de base de données pour la maintenir en synchronisation avec le modèle de données de l'application" Mon application ne dicte pas le schéma de la base de données, ce n'est pas un premier projet de code, c'est l'autre inverse?


Je suppose que c'était mon point .... EF Core n'a pas été conçu pour soutenir la base de données d'abord, ce qui ressemble à ce que vous ressemblez après. L'utilitaire d'échafaudage était censé prendre une base de données existante et créer tous les premiers modèles / contextes de code nécessaires pour vous comme point de départ. Il ne s'agissait pas de fournir un premier support de base de données à EF Core ... Au moins, cela a été mis à pied. En ce qui concerne votre "application qui ne dicte pas le schéma", je ne suis pas tout à fait sûr de ce que vous voulez dire. Vos modèles / contextes Les définitions doivent être extraites dans leur propre ensemble de projets afin que vous puissiez les maintenir séparément.


La base de données que je connecte une extrémité frontale pour exister il y a 10 ans et je ne suis pas autorisé à le changer, il y a des centaines de tables. Comme je ne veux pas apporter 200 entités au début d'un projet, mais plus tard dans la ligne, je reçois de nouvelles exigences qui nécessitent des tables supplémentaires à ajouter - cela me laisse avec la situation décrite à l'origine.



1
votes

Il est enregistré comme une demande avec l'équipe de base de l'EF, mais est en attente d'un bon moment.

GITUB LINK


0 commentaires

0
votes

Vous pouvez simplement modifier à nouveau les fichiers, toutes les classes générées sont partielles et vous pouvez implémenter toutes les personnalisations dans des classes partielles parrallèles.

EF Core Power Tools vous permet de générer des classes de POCO ou de simplement le dBContext.


0 commentaires