好的,所以我在asp.net实体框架mvc项目中的同一个model.edmx中有两个不同的表。第一个表是我设置为更新的主表,并且没有任何问题。第二个表是一个空表,它与第一个表具有完全相同的模式。第二个表将插入表1中的行以记录更改以及随时间进行更改的人员。
有什么方法可以为表1建模数据并将其转换为表2的模型并插入行?
尝试从表2中引用表1时得到的错误是“无法将类型'Model1'隐式转换为'Model2'”。
这是ActionResult,我试图这样做:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "ID,ECode,EmpType,FTE,TeamName,ReportGroup,Include,GoalEdDol,GoalEdAcct,GoalCmDol,GoalCmAcct,Update_By,Update_Date")] Staffing staffing)
{
if (ModelState.IsValid)
{
staffing.Update_Date = DateTime.Now;
staffing.Update_By = Request.LogonUserIdentity.Name.Split('\\')[1];
db.Entry(staffing).State = EntityState.Modified;
db.SaveChanges();
Staffing_Hist staffing_hist = staffing;
// I would like to do similar to above but I have to convert staffing into a staffing_hist model
return RedirectToAction("Index");
}
return View(staffing);
}
我是asp.net和实体框架的新手。我过去几周一直在教自己,所以非常感谢任何帮助。
答案 0 :(得分:0)
你可以这样试试。
public ActionResult Edit([Bind(Include = "id,namee,no")] tbl_in staffing)
{
if (ModelState.IsValid)
{
staffing.namee ="Test";
staffing.no = 1235467890;
db.Entry(staffing).State = EntityState.Modified;
db.SaveChanges();
tbl_out t = new tbl_out();
t.id = staffing.id;
t.namee = staffing.namee;
t.no = staffing.no;
db.tbl_out.Add(t);
db.SaveChanges();
}
return View(staffing);
}