Ich habe die ApplicationDBContext-Klasse angepasst, um über ihren Konstruktor eine Verbindungszeichenfolge zu erhalten. Es kann eine Verbindung zur Datenbank herstellen, wenn es direkt aufgerufen wird, aber wenn es über die app.CreatePerOwnContext aufgerufen wird, kann ich es nicht aufrufen. Meine Klassendefinition ist unter:Verbindungszeichenfolge an ApplicationDBContext senden
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(string databaseConnection)
: base(databaseConnection, throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create(string databaseConnection)
{
return new ApplicationDbContext(databaseConnection);
}
}
Das Problem ist, wenn es von Startup.Auth.cs in der folgenden Zeile genannt wird.
app.CreatePerOwinContext(ApplicationDbContext.Create);
Die create-Methode nimmt auch eine Verbindungszeichenfolge, aber die folgenden nicht
app.CreatePerOwinContext(ApplicationDbContext.Create(connectionString));
Es erzeugt den folgenden Fehler funktioniert:
Error 1 The type arguments for method 'Owin.AppBuilderExtensions.CreatePerOwinContext<T>(Owin.IAppBuilder, System.Func<T>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
Was die korrekte Syntax, um eine Verbindung zu senden ist Zeichenfolge an die ApplicationDbContext-Klasse, damit der Owin-Kontext darauf verweisen kann?
Die Verbindungszeichenfolge ist korrekt, aber der Vollständigkeit halber ist der Code, der sie festlegt, unten angegeben.
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
schwer zu beantworten, wenn Sie nicht zeigen, wie Sie den Wert der Connectionstring zuweisen .. Sie alle relevanten Code zu müssen .. auch verwenden der Debugger .. – MethodMan
Die Verbindungszeichenfolge ist korrekt. Ich kann mit dem Klassenkonstruktor eine Verbindung zur Datenbank herstellen. Wo ich herunterfalle, ruft die Methode über app.CreatePerOwnContext auf. –
der Fehler sagt Ihnen genau, was das Problem ist .. warum tun Sie nicht eine einfache Google-Suche auf die folgenden 'ApplicationDbContext.Create' und suchen Sie nach Beispielen .. auch wenn Sie Code einfügen .. bitte zeigen alle relevanten Code .. wir sind nicht Geist Leser .. auch eine separate Google-Suche auf MSDN 'createperowincontext' – MethodMan