2010-06-15 4 views
0

J'utilise Visual Studio 2010 RTM. Je veux faire du model-first, donc j'ai commencé une nouvelle application MVC et ajouté un nouveau edmx vide. Créé quelques entités. Aucun problème. Ensuite, je "Génère la base de données à partir du modèle", et permet à la boîte de dialogue de créer une nouvelle base de données pour moi, qu'elle fait avec succès en tant que 'mydatabase.mdf' dans le répertoire App_Data de l'application. Ensuite, j'ouvre le fichier sql généré (dans Visual Studio). Pour l'exécuter bien sûr, je dois lui donner un lien. Je ne suis pas sûr si c'est juste, mais j'ai utilisé '. \ SQLEXPRESS' et l'authentification de Windows. Je ne sais pas comment je dirais où est le MDF.Entity Framework 4 «Générer la base de données à partir du modèle» vers SQLEXPRESS mdf affiche «Impossible de localiser l'entrée dans sysdatabases pour la base de données»

Alors le problème - lors de l'exécution, je reçois:

Msg 911, niveau 16, état 1, ligne 1 Impossible de trouver l'entrée dans sysdatabases base de données 'mabase'. Aucune entrée trouvée avec ce nom. Assurez-vous que le nom est entré correctement.

Et en effet, il n'y avait pas de tables créées dans le MDF.

Alors ... qu'est-ce que je fais de mal, ou est-ce que je suis hors de mon rocker en m'attendant à ce que ça marche? :)

+0

Si vous générez une base de données dans le répertoire app_data, pourquoi ouvrez-vous le fichier sql généré dans VS? Pourquoi ne pas double-cliquer sur la base de données dans App_Data? – davemackey

+0

Il crée uniquement le MDF comme vide. Je dois exécuter le SQL généré pour créer les tables, les relations, etc. La création du MDF n'est pas vraiment faite par EF Je ne pense pas - c'est juste une partie du processus de sélection d'une «connexion» et de lui donner un nouveau nom db plutôt que de sélectionner et existant. – InfinitiesLoop

+0

Poke. Des idées pour le moment? –

Répondre

0

J'ai rencontré le même problème. Je ne pouvais pas obtenir un fichier MDF dans mon dossier App_Data pour fonctionner. Il n'y a vraiment qu'une seule solution fiable. Installez l'édition de développeur SQL Server 2005 ou 2008 R2 et créez votre base de données dans ce serveur. SQLEXPRESS ne semble pas du tout fonctionner avec Entity Framework 4.0. Je n'ai eu aucun problème avec la génération de base de données avec SQL Server 2005 ou 2008R2 Developer Edition.

Questions connexes