MVC3を使用したMySQLは、Context.SaveChangeを呼び出すときにエラーが発生します
-
09-12-2019 - |
質問
SQL Server 2008の代わりにMySQLデータベースを使用するようにMVC3アプリケーションを取得しようとしています。MySQLに関連付けられているデータベースとオブジェクトを作成しました。そしてMySQL.Data.MysqlClientを参照するために、web.configファイルの接続文字列を更新しました。
アプリケーションを実行してログインしようとすると、エラーが発生しています
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.
.
カスタムメンバーシッププロバイダーを持っていて、検証プロセス内には、次のがあります。
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にはトリガーが定義されていません。アプリケーションは最初にEFコードを持つMVC3です。 ありがとう、
解決
他の誰かがこの問題を抱えている場合、問題は私のようにGUIDと同じです。これを乗り越えるには、接続文字列に次のものを追加してください。
古いGUIDS= true
SOの場合、私の接続文字列はこのようになります。
<add name="MyDB" connectionString="Server=localhost; Database=mydatabase; Uid=user; Pwd=mypass; Old Guids=true;" providerName="MySql.Data.MySqlClient" />
. 所属していません StackOverflow