我正在尝试使用Automapper将从视图模型到模型的多对多关系映射,反之亦然。这是我的模型和视图模型以及我的Automapper配置。
public class TestOrder : BaseEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public virtual ICollection<TestOrderInventory> TestOrderInventories { get; set; }
}
public class Inventory : BaseEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public virtual ICollection<TestOrderInventory> TestOrderInventories { get; set; }
}
public class TestOrderInventory : BaseEntity
{
public int TestOrderId { get; set; }
public TestOrder TestOrder { get; set; }
public int InventoryId { get; set; }
public Inventory Inventory { get; set; }
}
public class TestOrderViewModel
{
public TestOrderViewModel()
{
Inventories = new List<InventoryViewModel>();
}
public int Id { get; set; }
public IEnumerable<InventoryViewModel> Inventories { get; set; }
}
public class InventoryViewModel
{
public int Id { get; set; }
}
public class TestOrderInventoryViewModel
{
public int TestOrderId { get; set; }
public TestOrderViewModel TestOrder { get; set; }
public int InventoryId { get; set; }
public InventoryViewModel Inventory { get; set; }
}
cfg.CreateMap<TestOrderInventory, TestOrderInventoryViewModel>();
cfg.CreateMap<TestOrderInventoryViewModel, TestOrderInventory>();
cfg.CreateMap<TestOrderViewModel, TestOrder>();
cfg.CreateMap<TestOrder, TestOrderViewModel>()
.ForMember(b => b.Inventories,
opt => opt.MapFrom(b => b.TestOrderInventories.Select(ba => ba.Inventory)));
从TestOrderViewModel到TestOrder的映射的配置如何?任何帮助将不胜感激。