Ich habe eine asp.net-Website, die mysql für die Mitgliedschaft verwendet. Die Web-App funktioniert gut, wenn ich eine Verbindung zu MySQL unter Windows OS herstelle, aber einen Fehler aufgrund des Tabellennamens (Groß-/Kleinschreibung) unter Linux auslöst.Fehler beim Lesen von ASP.net Mitgliedschaft Tabellen in MySQL
Der Fehler ist nicht relevant für meine Tabellen, aber er bezieht sich auf interne MySQL-Adapterklassen beim Aufruf zur Authentifizierung eines Benutzers. Hier
ist der Fehler:
Table ‚dbname.AspNetUsers‘ existiert nicht
Beschreibung: Eine nicht behandelte Ausnahme während der Ausführung der aktuellen Webanfrage auf. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es aus dem Code stammt.
Ausnahmedetails: MySql.Data.MySqlClient.MySqlException: Table 'dbname.AspNetUsers' nicht
Da existiert, habe ich aspnetusers Tabelle mit Kleinbuchstaben in meiner Datenbank. Der Fehler tritt nur auf, wenn ich den Host von mySQL auf Windows zu Linux ändere.
Hier ist die Codezeile, die die Ausnahme auslöst:
public static ApplicationSignInManager Create(IdentityFactoryOptions<ApplicationSignInManager> options, IOwinContext context)
{
return new ApplicationSignInManager(context.GetUserManager<ApplicationUserManager>(), context.Authentication);
}
Beachten Sie auch, ich habe keine Mitgliedschaftstabellen in der asp.net Web app da ich die configs für (Mitgliedschaft verwenden, Rollenanbieter), um Benutzer zu verbinden und zu authentifizieren.
Jede Hilfe wird geschätzt.