Je travaille sur un projet dans lequel j'utilise Entity Framework avec les premières migrations de code pour mettre à jour ma base de données. J'ai commencé ce projet sur une autre machine et ça a très bien marché. Maintenant, j'ai vérifié le code sur une autre machine. Comme cette machine ne possède pas la base de données, j'ai exécuté la commande update-database dans nuget. Il doit appliquer mes migrations précédentes et créer une nouvelle base de données sur cette machine mais elle affiche l'erreur suivante.Entity Framework: Impossible de modifier DataSource pour les premières migrations de code
Je lis this MSDN article qui dit
Si une instance locale SQL Express est disponible (installé par défaut avec Visual Studio 2010) puis premier code a créé la base de données sur cette instance Si SQL Express n'est pas disponible, le Code Premier essaiera d'utiliser LocalDb (installé par défaut avec Visual Studio 2012)
Par exemple, lorsque j'ai activé les migrations dans ma première machine, il a créé la base de données avec l'instance SQLEXPRESS comme DataSource et comme je ne l'ai pas dans ma machine actuelle, il est incapable de créer la base de données. Donc j'essaye de changer le DataSource de EntityFramework à l'Instance de mon serveur sql actuel qui est LAPTOP-HD618J49. Pour cela, j'ai essayé d'écrire une chaîne de connexion codée en dur avec cette instance dans app.config, j'ai changé ContextName dans la classe Data Context mais en vain. S'il vous plaît donnez-moi quelques indications sur ce que je pourrais manquer?
Je vous suggère de spécifier un nom de chaîne de connexion dans le constructeur de votre contexte comme décrit [ici] (http://www.entityframeworktutorial.net/code-first/database-initialization-in-code-first.aspx) . Ensuite, ajoutez cette chaîne de connexion à votre fichier de configuration. Ne devrait pas être nécessaire de changer le nom du contexte. –
@SteveGreene j'ai essayé aussi. Toujours la même erreur. –
La première chose à faire est d'utiliser l'explorateur d'objets SQL Server dans VS (ou SQL Management Studio) pour vous connecter à la base de données souhaitée et vous assurer d'avoir accès (vous n'aurez pas accès à la base de données distante par défaut). Deuxièmement, votre message d'erreur fait-il toujours référence à '. \ SQLEXPRESS'? Cela indique qu'il n'utilise pas votre chaîne de connexion pour LAPTOP-HD618J49. –