Entity Framework 4.1 で MVC4 を使用しています。
最初に、データベースから Ado.net エンティティ モデルを作成しました。.edmx ファイルでは、特定のテーブルの主キーを持っていないため、データベース内の一部のテーブルが表示されません。
プロジェクトが進むにつれて、主キー フィールドを持たないログ テーブルの 1 つに更新する必要があります。
そのため、データベースを変更する代わりに、.edmx ファイルを変更しました。クライアントから、データベース フィールドを変更しないように依頼されました。.edmx を変更し、テーブル内の既存のフィールドの 1 つ (たとえば、tbl_log
テーブル) に pk を作成しました。
tbl_log を更新しようとしています。しかし、次のようなエラーメッセージが表示されます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.
スタック オーバーフローに関する多くの質問を見て、少しグーグルで調べましたが、解決策が見つかりませんでした。
私も ObjectStateManager エントリを更新しようとしましたが、それでも同じエラーを指しています。
これが私のコードです
tbl_log log = new tbl_log();
Entity.ObjectStateManager.GetObjectStateEntries(System.Data.EntityState.Modified);
log.LoginId = strLoginId;
log.Password = strPassword;
log.IPAddress = strIpAddress;
log.Date_Time = DateTime.Parse(DateTime.Now.ToString());
log.sessionId = new Guid(strSessionId);
Entity.AddTotbl_log(log);
Entity.SaveChanges();// optimistic concurrency error
助けてください
ありがとう、
カーシック