2011-03-25 4 views
2

J'ai commenté tous les appels à Database.SetInitializer<>() dans mon application EF Code First. Cependant, même sans aucun appel explicite pour créer la base de données, mon application Asp.net MVC crée toujours une base de données. J'ai plusieurs raisons pour lesquelles ceci est un problème:Pourquoi EF4.1 CodeFirst crée-t-il une base de données même sans un appel `Database.SetInitializer <>()`?

1) Je n'aime pas le fait qu'EF crée une nouvelle base de données sans que je le lui dise.

2) Il continue à essayer de créer (ou de mettre à jour) la base de données sur mon hébergeur (même si la base de données existe déjà), et donc je reçois des permissions refusées.

Quelqu'un a-t-il une idée de la raison pour laquelle cela semble totalement hors de mon contrôle?

Répondre

4

En CTP 5 Je pense que la solution était

Database.SetInitializer<MyContext>(null); 

cela n'a pas changé dans EF 4.1. Si vous commentez l'appel par défaut, il est DropCreateDatabaseIfModelChanges.

+0

Cela a fonctionné, merci! C'est ennuyeux que je dois le faire cependant. – KallDrexx

Questions connexes