Ho implementato ASP.NET Identity e ha creato automaticamente ASPNETDB.MDF e aspnetdb_log.ldf nella mia cartella App_Data. Ho già le tabelle AspNet (ad esempio AspNetRoles, AspNetUsers, ecc.) Nella mia istanza SQL Express (che è dove sono seduti tutti gli altri miei tavoli). Per quanto posso vedere, la mia applicazione sta leggendo e scrivendo membri e dati di ruolo dal database SQL Express e non da ASPNETDB.MDF.Come posso smettere di utilizzare ASPNETDB.MDF in LocalDB?
ho impostato il mio connectionString nel web.config per:
<add name="DefaultConnection" connectionString="Data Source=MyComputerName\SQLEXPRESS;Initial Catalog=MyDatabaseName;Integrated Security=True" providerName="System.Data.SqlClient" />
Tuttavia, se tolgo ASPNETDB.MDF da App_Data, ottengo l'errore seguente quando faccio il login:
Dettagli eccezione: Sistema .Data.SqlClient.SqlException: uno o più file non corrispondono al file primario del database. Se si sta tentando di collegare un database, ritentare l'operazione con i file corretti. Se questo è un database esistente, il file potrebbe essere danneggiato e dovrebbe essere ripristinato da un backup. Impossibile aprire il database predefinito dell'utente. Accesso fallito. Accesso non riuscito per l'utente 'MyComputerName \ MyUserName'. Il file di registro 'C: \ Users \ MyProjectName \ App_Data \ aspnetdb_log.ldf' non corrisponde al file primario. Potrebbe provenire da un altro database o il registro potrebbe essere stato ricostruito in precedenza
L'errore scompare dopo aver aggiunto ASPNETDB.MDF a App_Data.
Ho cercato tutto il codice nella mia soluzione e non fa riferimento a ASPNETDB. Quindi, perché sta ancora cercando di leggerlo?
Sto sviluppando moduli Web ASP.NET su .Net 4.5.
È stata modificata questa stringa di connessione con una valida. –
Aswartha
La mia stringa di connessione è già connectionString =" Origine dati = MyComputerName \ SQLEXPRESS; Catalogo iniziale = MyDatabaseName; Sicurezza integrata = True " . Non punta a nessun file MDF ma al mio database SQLEXPRESS. – Windhoek
qual è il NOME di questa connessione stringconnectionString = "Origine dati = MyComputerName \ SQLEXPRESS; Initial Catalog = MyDatabaseName; Integrated Security = True" dovrebbe essere uguale a
Aswartha