エンティティ フレームワーク 4.1 を使用した単純な asp.net mvc3 プロジェクトがあります。以前の質問をしたところ、うまくいきました - EF 4.1 で SaveChanges 関数を正しくオーバーライドする方法 date と Loggedby の値は、クラス コンストラクターで設定されました。これは Create アクションでは問題ありませんでしたが、Edit アクションを使用すると、日付と LoggedBy フィールドが変更されていることがわかりました。これは望ましくありません。また、Delete が機能しないこともわかります。これは、コンストラクターが原因であると推測しています。Date と LoggedBy の値が Create に設定され、Edit 中に変更されないようにするにはどうすればよいですか? B.
using System;
using System.Collections.Generic;
using System.Web;
public partial class tblDefectDetail
{
public tblDefectDetail()
{
DateLogged = DateTime.Now;
LoggedBy = HttpContext.Current.User.Identity.Name;
}
public int ID { get; set; }
public int Project { get; set; }
public string LoggedBy { get; set; }
public System.DateTime DateLogged { get; set; }
public string Issue { get; set; }
私のアクションは次のようになります。
public ActionResult Create()
{
ViewBag.BugLocation = new SelectList(db.tblBugLocations, "ID", "BugLocation");
ViewBag.BugType = new SelectList(db.tblBugTypes, "ID", "BugType");
ViewBag.BusinessUnit = new SelectList(db.tblBusinessUnits, "ID", "BU_Name");
ViewBag.BugFoundMethod = new SelectList(db.tblDefectDiscoveryMethods, "ID", "DiscoveryMethod");
ViewBag.Project = new SelectList(db.tblProjects, "ID", "ProjectName");
ViewBag.Language = new SelectList(db.tblLanguages, "ID", "Language");
return View();
}