Je développe une application en utilisant asp dot net 2 en utilisant base de données MySql . Aidez-moi. Comment utiliser Asp Net Identity in MySqlDatabase .
Je devais le faire pour un client. Et je l'ai fait dans une application avec ASP.NET Core 1.0, mais par curiosité, j'ai aussi essayé une application dans .NET Core 2.0.
Ce que j'ai fait, c'est d'abord installer le package MySQL Entity Framework à partir de https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql/ en utilisant la console du gestionnaire de packages.
Après cela, j’ai changé dans startup.cs, dans la méthode ConfigureServices, l’option UseSqlServer à UseMySql, comme dans l’image ci-dessous.
Dans mon appsettings.json j'ai la connexion MySQL nommée IdentityConnection comme ceci:
{
"ConnectionStrings": {
"IdentityConnection": "Server=127.0.0.1;Database=identitycoredb;Uid=root;Pwd=1234;"
},
Pour créer les tables d'identité, j'ai exécuté la commande de migration dans la console du gestionnaire de packages:
EntityFrameworkCore\Update-Database -Verbose
EDIT: À ce stade, .Net Core 2.0 ne prend pas en charge Identity with MySql, mais pourrait l’être dans un proche avenir.
__
Vous devez connecter Entity Framework à MySQL avec la connexion de Pomelo et Identity devrait fonctionner. Vérifiez ceci -> https://damienbod.com/2016/08/26/asp-net-core-1-0-with-mysql-and-entity-framework-core/
Vous pouvez créer une base de données d'identité avec votre base de données MySQL Et utiliser la base de données d'identité pour votre autorisation.
C'est comme ça que je le fais.
//MySQL Database
services.AddDbContext<EFDbContext>(options =>
options.UseSqlServer("Server = ; Database =MySQL ; Trusted_Connection = True; MultipleActiveResultSets = true"));
//Identity Database
services.AddDbContext<EFIdentityDbContext>(options =>
options.UseSqlServer("Server = ; Database = Identity; Trusted_Connection = True; MultipleActiveResultSets = true"));
Cela devrait fonctionner correctement avec votre base de données MySQL.
public class EFIdentityDbContext : IdentityDbContext
{
public EFIdentityDbContext(DbContextOptions<EFIdentityDbContext> options )
:base (options)
{
}
}