Modifier la chaîne de connexion dans EF6 en fonction du fournisseur de la configuration

c# entity-framework-6 orm

Question

Je suis passé de EF5 à EntityFramework 6.

Maintenant que je suis confronté à un problème, je souhaite modifier la chaîne de connexion en fonction du fournisseur défini dans app.Config. Signification Si c'est SqlServerCe, je dois alors changer le nom du fichier DatabaseFile.sdf pour changer une base de données. Si c'est SqlServer, je dois changer InitialCataloge.

Je l'ai fait en obtenant le type de

'Database.DefaultConnectionFactory' mais ceci est obsolète dans EF6.

Comment puis-je modifier la chaîne de connexion en fonction du fournisseur.

Je ne peux pas faire cela en utilisant l'attribut DbConfiguration car je dois modifier la chaîne de connexion à chaque fois.

Réponse acceptée

Vous pouvez utiliser

DbConfiguration.SetConfiguration(new YourDbConfiguration());

vous pouvez donc utiliser votre configuration sans utiliser d'attribut.

Mais si j'utilise

public CeDbConfiguration()
{
 SetDefaultConnectionFactory(new SqlCeConnectionFactory(SqlCeProviderServices.ProviderInvariantName,
                                                        @"c:\test",
                                                        @"c:\test\db.sdf"));
SetProviderServices(SqlCeProviderServices.ProviderInvariantName,
                    SqlCeProviderServices.Instance);
}

pour configurer une usine SQL CE, le chemin 'C: \ test' sera ignoré et je dois également définir Database.DefaultConnectionFactory !!



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi