と という名前のテーブルに 2 つの列がCreatedOn
ありModifiedOn
ます。もちろん、フォームでは、非表示のフィールドのように、これらの 2 つのフィールドを表示したくありません。同じフォームを投稿するときにModifiedOn
、現在の DateTime で変更し、CreatedOn
値をそのまま保持したい。ただし、非表示のファイル名 CreatedOn がないため、データベースで null に設定されます。それで、私は以下のコードを使用しました
public ActionResult Edit(User user)
{
if (ModelState.IsValid)
{
var OldInsObj = db.Users.Find(user.UserId);
DateTime UsersDateCreated = (DateTime)db.Entry(OldInsObj).Property("UsersDateCreated").CurrentValue;
user.UsersDateCreated = UsersDateCreated;
user.UsersDateModified = DateTime.Now;
db.Entry(user).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
}
このエラーが発生しています
An object with the same key already exists in the ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same key.
どうすればこれを解決できますか?
読むためのブログリンクを提供しないでください。私はすでにそれらのいくつかを読みましたが、できませんでした.
ありがとうございました。