2010-12-29 3 views
1

Je suis en train de faire des tests à l'aide EF4 + CTP5 avec le code premier développement en écrivant des classes POCO et ont dû faire face aux problèmes suivantsEntity Framework 4 CTP 5 premier code de développement

  1. Connexion à la base de données existante me jette la exception:
    la compatibilité du modèle ne peut pas être vérifiée, car la base de données ne contient pas de métadonnées de modèle

  2. Alors que je peux créer une nouvelle base de données à partir du code en donnant un nouveau nom de fichier dans une chaîne de connexion, pas en mesure d'ouvrir le fichier (base de données) en utilisant le Management Studio après runnin g quelques tests contre, le studio de gestion ne permet pas d'ajouter le fichier en essayant de joindre la base de données sans fournir de détails d'erreur spécifiques.

+0

Regardez les articles suivants: 1) Utiliser EF "Code First" avec une base de données existante - http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-code-first- with-an-existing-database.aspx 2) En regardant EF4 CTP5 dans les parties: Partie 4-Travailler avec les bases de données nouvelles et existantes dans le code d'abord - http://thedatafarm.com/blog/data-access/looking-at-ef4 -ctp5-dans-parties-partie-4-ndash-travail-avec-nouvelles-et-existantes-bases de données-dans-code-premier/ –

Répondre

4

Pour le numéro 1, avez-vous essayé d'ajouter ce qui suit à votre global.asax?

Database.SetInitializer<CustomContextNameHere>(null); 

où "CustomContextNameHere" est votre objet de contexte.

En ce qui concerne le n ° 2, je suppose que vous voulez dire le fichier ASPNETDB.MDF par défaut. Avez-vous essayé d'ouvrir le fichier avec l'Explorateur de serveurs dans VS? Il peut s'ouvrir directement si vous double-cliquez dessus dans la solution.

+0

Dans Ctp5, je pensais que ce n'est pas nécessaire de l'article de ScottGu (http: // weblogs .asp.net/scottgu/archive/2010/12/08/annonçant-entity-framework-code-premier-ctp5-release.aspx), fonctionne maintenant après avoir appliqué DbDatabase.SetInitializer (null); – skjagini

+0

Ouais, je vois ça aussi. J'espère qu'ils vont tout faire avant RTM. – ptrandem

Questions connexes