Я использую Automapper для копирования данных из моих объектов данных в объекты моей модели.Сохранение обновленной комплексной модели для сложных объектов Entity Framework?
cfg.CreateMap<Customer, CustomerVM>().ReverseMap();
cfg.CreateMap<Order, OrderVM>().ReverseMap();
Существует навигационное свойство между Order
и Customer
. Это отлично подходит для отображения сложных объектов на моем представлении.
@Html.EditorFor(a => a.Customer.AccountName)
@Html.EditorFor(a => a.Notes)
И объекты, похоже, правильно вернутся в мое сообщение.
[HttpPost]
public ActionResult SaveOrder(OrderVM order)
{
if (ModelState.IsValid)
{
var order2 = AutomapperConfig.MapperConfiguration.CreateMapper().Map<OrderVM, Order>(order);
order2.LastEditDate = DateTime.Now;
order2.LastEditBy = HttpContext.User.Identity.Name;
order2.CreateDate = order.CreateDate;
using (var db = new ProofingContext())
{
db.Entry(order2).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("index");
}
}
return View();
}
Когда я шагаю через код в пост действий модель показывает вид обновленные данные во всех связанных с ними объектов. Но когда я сохраняю изменения, я получаю только изменения в порядке, сохраненном в моей БД. Что мне нужно сделать, чтобы сохранить изменения в связанных объектах?