【发布时间】:2015-02-20 18:50:21
【问题描述】:
请看一下我正在尝试做的这个相当人为的例子。
一、数据库模型:
public class Report
{
public Guid Id { get; set; }
public string Name { get; set; }
public ICollection<Worker> Workers { get; set; }
}
public abstract class Worker
{
public Guid Id { get; set; }
}
public class Fireman : Worker
{
public string Station { get; set; }
}
public class Cleaner : Worker
{
public string FavoriteSolvent { get; set; }
}
现在是视图模型:
public class AddReportViewModel
{
public string Name { get; set; }
public List<AddFiremanViewModel> Firemen { get; set; }
public List<AddCleanerViewModel> Cleaners { get; set; }
}
public class AddFiremanViewModel
{
public string Station { get; set; }
}
public class AddCleanerViewModel
{
public string FavoriteSolvent { get; set; }
}
最后是 Automapper 配置文件:
public class ReportProfile : Profile
{
protected override void Configure()
{
CreateMap<AddReportViewModel, Report>();
CreateMap<AddFiremanViewModel, Fireman>();
CreateMap<AddCleanerViewModel, Cleaner>();
}
}
我希望Firemen 和Cleaners 都填充Workers 集合,这是一个ICollection<Worker>。我希望这是有道理的。我该怎么做?
【问题讨论】:
-
您的意思是要将
Firemen和Cleaners合并为一个集合?如何?只是Union他们? -
是的,工会。如果有两名消防员和一名清洁工,则结果应包含三名工人。
标签: c# automapper