MySQL con MVC3 fornisce un errore durante la chiamata context.Savecanges
-
09-12-2019 - |
Domanda
Sto cercando di ottenere la mia applicazione MVC3 per utilizzare il database MySQL anziché SQL Server 2008. Ho creato il database e gli oggetti associati in MySQL.E ha aggiornato la stringa di connessione nel mio file Web.config per fare riferimento a mysql.data.mysqlclClient.
Quando eseguo la mia applicazione e prova a accedere, ricevo l'errore
Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.
.
Ho un membro personalizzatoProvider e all'interno del processo di convalida Ho il seguente
using (MyContext context= new MyContext())
{
--some checks here
---
if (verificationSucceeded)
{
user.passwordFailuresSinceLastSuccess = 0;
}
else
{
int failures = user.passwordFailuresSinceLastSuccess;
if (failures != -1)
{
user.passwordFailuresSinceLastSuccess += 1;
user.lastPasswordFailureDate = DateTime.UtcNow;
}
}
context.SaveChanges(); ----THIS IS WHERE IT FALLS OVER
-- some other code here
}
.
Il codice sopra funziona perfettamente con SQL Server 2008, ma sta cadendo solo con MySQL.Qualche idea come posso risolvere questo per favore?
Non ho dei trigger definiti sulla tabella sottostante BTW.L'applicazione è mvc3 con il codice EF prima. Grazie,
Soluzione
Se qualcun altro ha questo problema, il problema era con il GUID come però.Per superare questo, aggiungi quanto segue alla tua stringa di connessione
Old GUID= TRUE
Quindi, ad esempio, la mia stringa di connessione è così ora.
<add name="MyDB" connectionString="Server=localhost; Database=mydatabase; Uid=user; Pwd=mypass; Old Guids=true;" providerName="MySql.Data.MySqlClient" />
.