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

Comment établir une connexion MySQL dynamique avec Entity Framework 6 ?

Susan Sarandon
Libérer: 2024-11-07 20:40:03
original
349 Les gens l'ont consulté

How to Establish a Dynamic MySQL Connection with Entity Framework 6?

Connexion dynamique MySQL avec Entity Framework 6

La connexion à un nom de base de données dynamique à l'aide d'Entity Framework 6 implique certaines considérations.

Obtention de la compatibilité MySQL

  • Installez le connecteur MySQL .Net 6.8.1.
  • Référence Mysql.Data.dll et Mysql.Data.Entity.EF6. dll.
  • Inclure la chaîne de connexion et le fournisseur dans Web.config :
<connectionStrings>
  <add name="mysqlCon" connectionString="Server=localhost;Database={0};Uid=username;Pwd=password" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

<entityFramework>
  <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>
</entityFramework>
Copier après la connexion

Connexion dynamique à la base de données

  • Créer une méthode d'assistance pour construire la chaîne de connexion avec un espace réservé pour le nom de la base de données :
public static string GetConnectionString(string dbName)
{
    var connString = ConfigurationManager.ConnectionStrings["mysqlCon"].ConnectionString.ToString();
    return String.Format(connString, dbName);
}
Copier après la connexion
  • Modifier la classe ApplicationDbContext :
public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext(string dbName) : base(GetConnectionString(dbName))
    {
    }
}
Copier après la connexion
  • Utilisation :
ApplicationDbContext db = new ApplicationDbContext("dbName");
Copier après la connexion

Remarque : Si vous utilisez des migrations de bases de données, ajoutez une classe d'usine pour transmettre le nom de la base de données dans la méthode de départ :

public class MigrationsContextFactory : IDbContextFactory<ApplicationDbContext>
{
    public ApplicationDbContext Create()
    {
        return new ApplicationDbContext("developmentdb");
    }
}
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!