这是我的域类:
public class Item
{
public int Id { get; set; }
public string Title { get; set; }
public List<ChildItem> ChildItems { get; set; }
}
public class ChildItem
{
public int Id { get; set; }
public string Title { get; set; }
}
使用Nhibernate将它们映射到数据库表。这是我的viewmodels:
public class ItemViewModel
{
public int Id { get; set; }
public string Title { get; set; }
public List<ChildItemViewModel> ChildItems { get; set; }
}
public class ChildItemViewModel
{
public int Id { get; set; }
}
使用Automapper从域对象填充viewmodel非常容易。然后在客户端上我将新的childItemViewModel添加到itemViewModel然后在服务器上我需要将我的更改保存到数据库:它需要从viewmodel填充域对象并且反向映射没有帮助,因为我需要创建域对象或从存储库获取域对象添加集合。如何“通过智能方式”在复杂情况下(使用子集合)从viewmodel填充域对象?