我有一個相當複雜的情況。 我有一個順序:Automapping雙嵌套IEnumerable
public partial class Order
{
public string orderNum { get; set;}
public ICollection<Shipment> Shipments { get; set; }
...
}
我有一個觀點BIGVIEW:
public partial class BIGVIEWVM
{
public string orderNum { get; set;}
public OrderDetailsVM Order { get; set; }
public ShipmentsTableVM Shipments { get; set; }
}
子視圖,ShipmentsTableVM
就像這樣:
public partial class ShipmentsTableVM
{
public string somethingelse {get;set;}
public IEnumerable<Shipment_Table_Row_VM> Shipments{get;set;}
}
它實際上比這更復雜,但是這是最簡單的問題。我有一個Order
有很多Shipments
。我想使用從Order
到BIGVIEW
的AutoMapper撥打ProjectTo
。整個Order
映射到OrderDetailsVM
沒有問題,但是,我不知道該怎麼做是將ICollection傳遞給我的ShipmentsTableVM,然後將其映射到IEnumerable中。
cfg.CreateMap<Order, BIGVIEW>()
.ForMember(d => d.order, opt => opt.MapFrom(s => s))
...?
我以爲我可以照顧從ICollection<Shipments>
映射到我ShipmentsTableVM
:
cfg.CreateMap<IEnumerable<Shipment>, ShipmentsTableVM>()
.ForMember(d => d.Shipments, opt => opt.MapFrom(s => s))
;
但是,這並不工作 - 我得到一個錯誤約LINQ的不能夠映射的東西,不是IEnumerable ...但我使用IEnumerable,所以我不明白。我也嘗試了各種其他配置,但我無法快速完成任何操作。
我正在尋找一個Automapper解決方案,因爲我不想手動在我的控制器中進行投影。
謝謝
我想這一點,那我也映射ICollection的但它似乎有'cfg.CreateMap ,ShipmentsTableVM>()' –
Worthy7
嘗試'CFG的問題。 Map'而不是'cfg.CreateMap' – Hadee
cfg.Map不存在 – Worthy7