Ho personalizzato la classe ApplicationDBContext per ricevere una stringa di connessione tramite il suo costruttore. Può connettersi al database OK quando viene chiamato direttamente, ma quando viene chiamato attraverso l'app.CreatePerOwnContext Non riesco a chiamarlo. La mia definizione di classe è qui sotto:Invia stringa di connessione a ApplicationDBContext
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(string databaseConnection)
: base(databaseConnection, throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create(string databaseConnection)
{
return new ApplicationDbContext(databaseConnection);
}
}
Il problema è quando viene chiamato da Startup.Auth.cs nella riga seguente.
app.CreatePerOwinContext(ApplicationDbContext.Create);
Il metodo create prende anche una stringa di connessione, ma il seguente non funziona
app.CreatePerOwinContext(ApplicationDbContext.Create(connectionString));
Produce il seguente errore:
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.
Qual è la sintassi corretta per inviare un collegamento stringa alla classe ApplicationDbContext in modo che il contesto di Owin possa farvi riferimento?
La stringa di connessione è corretta ma per completezza il codice che lo imposta è riportato di seguito.
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
difficile rispondere quando non si mostra come si sta assegnando il valore della connectionstring .. è necessario mostrare tutto il codice in questione .. utilizzare anche il debugger .. – MethodMan
La stringa di connessione è corretta. Posso connettermi al database usando il costruttore della classe. Dove falldown chiama il metodo tramite app.CreatePerOwnContext. –
l'errore ti sta dicendo esattamente quale sia il problema .. perché non fai una semplice ricerca su google sul seguente ApplicationDbContext.Create e cerca degli esempi .. anche se intendi incollare il codice ... per favore mostra tutto il codice pertinente .. non siamo lettori della mente..anche facciamo una ricerca google separata su MSDN 'createperowincontext' – MethodMan