MySQL с MVC3 дает ошибку при вызове контекста. SaveChanges
-
09-12-2019 - |
Вопрос
Я пытаюсь заставить мое приложение MVC3 использовать базу данных MySQL вместо SQL Server 2008. Я создал соответствующую базу данных и объекты в MySQL.И обновил строку соединения в файле Web.config для ссылки mysql.data.mysqlclient.
Когда я запускаю свое приложение и попробую войти, я получаю ошибку
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.
.
У меня есть пользовательский членствоProvider и в процессе проверки у меня есть следующие
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
}
.
Приведенный выше код отлично работает с SQL Server 2008, но падает только с MySQL.Любая идея, как я могу решить это, пожалуйста?
У меня нет триггеров, определенных на базовой таблице BTW.Приложение I представляет собой MVC3 с EF-код первым. Спасибо,
Решение
Если кто-то еще имеет этот вопрос, проблема была с GUID, как я, хотя и.Чтобы преодолеть это, добавьте следующее в строку подключения
Старый GUID= TRUE
Так, например, моя подключенная строка выглядит так сейчас.
<add name="MyDB" connectionString="Server=localhost; Database=mydatabase; Uid=user; Pwd=mypass; Old Guids=true;" providerName="MySql.Data.MySqlClient" />
.