Modèle De Données D'Entité Assistant Pas De Montrer De Nouvelles Tables
J'ai créé une base de données sql à partir de scripts à l'aide de Microsoft SQL Server 2012 et généré un certain nombre de classes en C# à l'aide de entity framework. Maintenant, j'ai eu de modifier et d'ajouter un certain nombre de nouveaux éléments à la base de données, y compris des procédures stockées et des nouvelles tables.
Cependant, sur le fait d'essayer de régénérer les classes dans Visual Studio Ultimate 2012, l'Entité du Modèle de Données de l'Assistant s'affiche toujours l'ancienne base de données (la façon dont il a regardé il y a une semaine), y compris certains tableaux que j'ai supprimé. Aucun de la nouvelle substance est répertoriée. J'ai essayé de supprimer et de recréer la base de données, le redémarrage de deux programmes, et de redémarrer le pc ou pas d'effet.
Les mesures que je vais prendre pour générer le cadre dans Visual Studio sont:
- Ajouter un nouvel élément au projet.
- Sélectionnez ADO.NET Modèle de Données d'Entité.
- Sélectionnez le Premier Code de base de données.
- Sélectionnez Suivant (la chaîne de connexion est déjà rempli).
- L'écran suivant est le "Choisir des Objets et des Paramètres de la fenêtre", qui est l'endroit où je suis encore voir les anciennes tables (et pas les nouveaux).
Est-il une étape spéciale j'ai besoin de prendre après un changement de base de données pour obtenir ces changements apparaissent dans le cadre de l'entité?
Mise à JOUR:
J'ai un plomb sur l'option "mettre à Jour le Modèle de Base de données", mais mon Visual Studio n'a pas d'option de ce genre. Des recherches sur le Web indiquent qu'il a trouvé dans le "Modèle de la Fenêtre du Navigateur", que j'ai également pas trouvé de VS. De plus amples recherches indiquent cette fenêtre devient disponible après l'ouverture d'un "edmx" fichier. J'ai cherché sur le pc entier pour cette extension de fichier et trouvé des résultats, mais ils sont tous issus d'autres peuples projets. Je ne peut pas localiser un .edmx associés à la solution c# ou de la base de données sql pour ce projet.
Est-il une autre option que vous souhaitez recommander à la place?
Quand j'ajoute un EDM-je obtenir les options "Modèle Vide" ou "Générer à partir de la base de données". Il n'y a pas de mention de "premier code" à ce point. J'ai choisi de "Générer à partir de la base de données", puis s'assurer que la chaîne de connexion vers le bon serveur/db. J'utilise EF 6.
Sous "choisissez les options" je n'ai pas une option "générer à partir de la base de données", mais j'ai "modèle vide". "Le Premier Code de Base de données" est celui que j'ai été chargé de l'utiliser pour le projet, cependant.
OriginalL'auteur Nightmare Games | 2014-12-02
Vous devez vous connecter pour publier un commentaire.
Dans le Modèle de Données d'Entité de l'Assistant, sur la page "Choisissez Votre Connexion de Données" de l'écran, j'ai choisi "Nouvelle Connexion" plutôt que d'appuyer sur "Suivant" avec la connexion existante. Choisir le nom du serveur et le nom de base de données et de refaire la connexion semble pour actualiser l'affichage, et maintenant les nouvelles tables ont montré jusqu'à.
J'ai eu le sentiment que ça allait être certains petits, dix-deuxième chose qui me manquait.
Mise à JOUR:
De refaire le lien avec les nouvelles tables disponibles, mais pas les procédures stockées. Voici comment je l'ai corrigé.
Dans l'Assistant Modèle, le choix de "le Premier Code De Base de données" ne comprend pas les procédures stockées, pour quelque raison que ce soit. Pour moi, l'option correcte était "EF Concepteur de Base de données". Je n'ai pas seulement obtenir les nouvelles tables ET procédures stockées, mais elle a également généré le fichier edmx que la première option ne serait pas de créer.
OriginalL'auteur Nightmare Games
J'ai eu un problème similaire avec le Premier Code. J'ai suivi toutes les étapes mentionnées sur la question, mais le modèle de la table n'a pas été généré.
J'ai trouvé que c'était parce que la table n'a pas une clé primaire.
J'ai donc modifié le tableau
et cela a fonctionné.
Dans le cas où tout le monde court dans ce, j'espère que cela aide.
OriginalL'auteur live-love
J'ai eu ce problème et il s'est avéré être l'utilisateur SQL utilisés n'ont pas de sélectionner l'accès à la fonction nouvellement créée de tables.
J'ai couru GRANT SELECT SUR [tablename] [sqluser] sur la base de données pour toutes les nouvelles tables. Vous pourriez tout aussi bien ajouter l'utilisateur sql à un serveur tel rôle sysadmin.
L'exécution de Modèle de mise à Jour de la Base de données a ensuite montré les nouvelles tables.
OriginalL'auteur SickPanda