我正在开发一个基本的CRUD .net MVC应用程序,需要根据是否正在创建或编辑来验证相同的数据。
根据以下question的答案,似乎需要创建和编辑的不同模型。
我尝试在当前模型中添加一个类,但出现以下错误:
"Multiple object sets per type are not supported. The object sets
'ReportDetails' and 'ReportDetailsEdit' can both contain instances
of type 'Test.Models.ReportDetails'."
我也尝试过创建一个新模型,但出现以下错误:
The namespace 'Test.Models' already contains a definition for 'TestDBContext'
实现这一目标的正确方法是什么?
以下是模型和控制器的当前基本概要:
型号:
public class ReportDetails {
[Key]
public int ReportID { get; set; }
[Required]
public string Email { get; set; }
[NotMapped]
[Compare("Email", ErrorMessage = "Confirmation field must match")]
public string ConfirmEmail { get; set; }
//Further fields here
}
控制器:
[HttpPost]
public ActionResult Edit(ReportDetails reportdetails) {
if (ModelState.IsValid) {
db.Entry(reportdetails).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(reportdetails);
}
该模型目前用于创建和编辑,但我不希望包含确认电子邮件字段以及其他字段的不同验证规则。