Maison > base de données > tutoriel mysql > le corps du texte

Comment se connecter à un nom de base de données dynamique dans Entity Framework 6 avec MySQL ?

DDD
Libérer: 2024-11-07 14:36:02
original
391 Les gens l'ont consulté

How to Connect to a Dynamic Database Name in Entity Framework 6 with MySQL?

Connexion dynamique à la base de données dans Entity Framework 6 pour MySQL

Configuration de MySQL pour Entity Framework 6

Pour établir une connexion entre Entity Framework 6 et MySQL, suivez ces étapes :

  • Installez MySQL .Net Connector 6.8.1 (bêta) à partir du site officiel de MySQL.
  • Référence Mysql.Data.dll et Mysql.Data.Entity.EF6. dll dans votre solution Visual Studio.
  • Copiez ces fichiers dans le répertoire bin de votre projet pour y accéder pendant la construction.
  • Ajoutez une chaîne de connexion à votre fichier Web.config, en vous assurant qu'il inclut l'attribut supplierName :
<add name="mysqlCon" connectionString="Server=localhost;Database=dbName;Uid=username;Pwd=password" providerName="MySql.Data.MySqlClient" />
Copier après la connexion
  • Ajoutez les informations de fournisseur suivantes dans le fichier dans votre fichier Web.config :
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
Copier après la connexion
  • Supprimez le nœuds du nœud si vous l'avez modifié par défaut.

Connexion à un nom de base de données dynamique

  • Mettez à jour la chaîne de connexion dans Web.config pour inclure un espace réservé pour le nom de la base de données :
<add name="mysqlCon" connectionString="Server=localhost;Database={0};Uid=username;Pwd=password" providerName="MySql.Data.MySqlClient" />
Copier après la connexion
  • Modifiez la classe ApplicationDbContext comme suit :
public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext(string dbName) : base(GetConnectionString(dbName))
    {
    }

    public static string GetConnectionString(string dbName)
    {
        var connString = ConfigurationManager.ConnectionStrings["mysqlCon"].ConnectionString.ToString();
        return String.Format(connString, dbName);
    }
}
Copier après la connexion
  • Gérez les migrations de bases de données en ajoutant une classe MigrationsContextFactory à la fin de votre classe de contexte :
public class MigrationsContextFactory : IDbContextFactory<ApplicationDbContext>
{
    public ApplicationDbContext Create()
    {
        return new ApplicationDbContext("developmentdb");
    }
}
Copier après la connexion

Cela vous permet de transmettre une chaîne de connexion dynamique au contexte du framework d'entité, vous permettant de basculer facilement entre plusieurs schémas de base de données identiques en fonction du compte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal