Итак, у меня есть две разные таблицы внутри одного и того же model.edmx в проекте mvc-структуры сущности asp.net. Первая таблица - это основная таблица, которую я настроил для обновления, и не испытываю никаких проблем с ней. Вторая таблица - это пустая таблица с такой же схемой, как и первая. Вторая таблица будет содержать строки из таблицы 1, вставленной в нее, для регистрации изменений и внесших изменения со временем.Вставка одних и тех же данных в две разные таблицы в одной и той же базе данных
Есть ли способ, которым я могу взять данные, смоделированные для таблицы 1, и преобразовать их в модель для таблицы 2 и просто вставить строку?
Ошибка, которую я получаю при попытке ссылки на таблицу 1 из таблицы 2: «Невозможно неявно преобразовать тип« 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 и рамки сущности. Я преподавал себя в течение последних нескольких недель, поэтому любая помощь очень ценится.
Не было бы проще использовать триггеры базы данных, чтобы сделать это вместо этого? –
Staffing_Hist и Staffing считаются 2-мя различными типами. [Automapper] (http://automapper.org/) отлично подходит для этих задач. Код будет выглядеть примерно как staffing_hist = Mapper.Map (укомплектование персоналом); Другой вариант - добавить конструктор в Staffing_Hist, который возьмет объект Staffing и вручную отобразит его. var staffing_hist = new Staffing_Hist (укомплектование персоналом); –
Благодарим вас за предложения. Я обязательно попробую Automapper. – cole570