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,

È stato utile?

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" />
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top