我正在尝试创建一个数据存储库,我可以将其用于新兴汽车生产和设计公司的测试目的。
开始Automapper问题:
在这个项目中,我有2个类,它们大部分共享相同的属性。我不需要Id,所以我忽略了。
我现有的代码如下所示:
Mapper.CreateMap<RaceCar, ProductionCar>()
.Ignore(d => d.fId) //ignore the ID
.ForMember(d=> d.ShowRoomName,
o=> o.MapFrom(s => s.FactoryName) //different property names but same thing really
//combine into my new test car
var testCarObject = Mapper.Map<RaceCar, ProductionCar>()
我的主要要求是: 1)我需要创建100个这些测试车对象 2)对于我使用的每个ProductionCar,它需要有一个相应的RaceCar,它们与名称相匹配(ShowRoomName&amp; FactoryName)
有没有办法在某种类型的循环或数组中坚持这一点,以便我可以创建所需的100?
另外,有没有办法确保每辆新车都有组合的FactoryCar和RaceCar?
谢谢!
答案 0 :(得分:4)
将AutoMapper与AutoFixture结合使用:
var fixture = new Fixture();
var items = Enumerable.Range(1, 100)
.Select(i => fixture.Create<RaceCar>())
.Select(car => new { RaceCar = car, ProductionCar = Mapper.Map<RaceCar, ProductionCar>(car))
.ToList();
items.Profit()