更新两个实体框架实体之间的关系?

时间:2016-09-09 18:20:15

标签: entity-framework automapper

我的数据层中有两个相关的Entity Framework 6类。

public class Order
{
   public int Id { get; set; }
   public virtual SalesStatus SalesStatus { get; set; }
}

public class SalesStatus
{
    public SalesStatus()
    {
        Orders = new List<Order>();
    }

    public int Id { get; set; }
    public string Name { get; set; }
    public virtual List<Order> Orders { get; set; }
}

public class OrderVM
{
   public int Id { get; set; }
   public SalesStatus SalesStatus { get; set; }
}

我正在使用Automapper将这些映射到我的视图模型,然后重新映射。

cfg.CreateMap<Order, OrderVM>()
    .MaxDepth(4)
    .ReverseMap();

状态实体用于填充下拉列表。

在我的方法中,我将获取所选值并尝试将订单记录更新为新选择的状态。

 private bool SaveOrderToDb(OrderVM orderVM)
 {
     using (var db = new MyContext())
     {                
         var order = AutomapperConfig.MapperConfiguration.CreateMapper().Map<OrderVM, Order>(orderVM);
         order.SalesStatus = db.SalesStatuses.Find(Convert.ToInt16(orderVM.SalesStatusSelectedValue));
         db.Set<Order>().AddOrUpdate(order);
         db.SaveChanges();
    }

    return true;
}

这不会更新数据库中的关系。为什么?我错过了什么?

0 个答案:

没有答案