私はかなり複雑な状況があります。 私は順序があります。ShipmentsTableVM
はとても似ている、二重ネストされたIEnumerableを自動化
public partial class BIGVIEWVM
{
public string orderNum { get; set;}
public OrderDetailsVM Order { get; set; }
public ShipmentsTableVM Shipments { get; set; }
}
サブビュー:
public partial class ShipmentsTableVM
{
public string somethingelse {get;set;}
public IEnumerable<Shipment_Table_Row_VM> Shipments{get;set;}
}
これは、これよりも実際にはもっと複雑だが、この私は、ビューBIGVIEWを持って
public partial class Order
{
public string orderNum { get; set;}
public ICollection<Shipment> Shipments { get; set; }
...
}
を最も簡単な形で問題になっています。
私は、Shipments
のロットを持つOrder
を持っています。 Order
からBIGVIEW
にAutoMapperを使用してProjectTo
コールを発信したいと思います。 Order
の全体は問題なくにマップされますが、私がどのように行うかわからないのは、ICollectionを自分のShipmentsTableVMに渡し、次にそれをIEnumerableにマップすることです。
cfg.CreateMap<Order, BIGVIEW>()
.ForMember(d => d.order, opt => opt.MapFrom(s => s))
...?
は、私は私のShipmentsTableVM
にICollection<Shipments>
からのマッピングの世話をすると考えていた:
cfg.CreateMap<IEnumerable<Shipment>, ShipmentsTableVM>()
.ForMember(d => d.Shipments, opt => opt.MapFrom(s => s))
;
しかし、これは動作しません - 私は、LINQのは物事をマップすることができないというエラーを取得していますIEnumerableではありませんが、IEnumerableを使用していますので、わかりません。私は他のさまざまな構成も試みましたが、どこも速くはありません。
コントローラで手動で投影したくないので、私はAutomapperのソリューションを探しています。
ありがとうございました
私はその後、私はICollectionををマッピングする必要があるが、 'cfg.CreateMap 、ShipmentsTableVM>()' –
Worthy7
試し 'CFGの問題を持っているようだ、これを試してみました。 'cfg.CreateMap'の代わりに' Map'を実行します – Hadee
cfg.Mapは存在しません – Worthy7