128 votes

Comment activer les migrations EF pour plusieurs contextes vers des bases de données distinctes ?

Comment activer les migrations Entity Framework 5 (version 5.0.0) pour plusieurs contextes DB dans le même projet, où chaque contexte correspond à sa propre base de données ? Lorsque je lance Enable-Migrations dans la console PM (Visual Studio 2012), il y a une erreur car il y a plusieurs contextes :

PM> Enable-Migrations
More than one context type was found in the assembly 'DatabaseService'.
To enable migrations for DatabaseService.Models.Product1DbContext, use Enable-Migrations -ContextTypeName DatabaseService.Models.Product1DbContext.
To enable migrations for DatabaseService.Models.Product2DbContext, use Enable-Migrations -ContextTypeName DatabaseService.Models.Product2DbContext.

Si je cours Enable-Migrations -ContextTypeName DatabaseService.Models.Product1DbContext Je n'ai pas le droit de courir Enable-Migrations -ContextTypeName DatabaseService.Models.Product2DbContext parce qu'une migration existe déjà : Migrations have already been enabled in project 'DatabaseService'. To overwrite the existing migrations configuration, use the -Force parameter.

4 votes

4voto

AHAMED AAQIB Points 19

Pour mettre à jour la base de données, tapez les codes suivants dans PowerShell...

Update-Database -context EnrollmentAppContext

*Si plusieurs bases de données existent, il suffit d'utiliser ce code, sinon ce n'est pas nécessaire.

0voto

EF 4.7 donne en fait un indice lorsque vous exécutez Enable-migrations dans plusieurs contextes.

Plus d'un type de contexte a été trouvé dans l'assemblage 'Service.Domain'.

To enable migrations for 'Service.Domain.DatabaseContext.Context1', 
use Enable-Migrations -ContextTypeName Service.Domain.DatabaseContext.Context1.
To enable migrations for 'Service.Domain.DatabaseContext.Context2',
use Enable-Migrations -ContextTypeName Service.Domain.DatabaseContext.Context2.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X