2017-09-13 8 views
0

私はautomapperプロファイルを持っていて、シニア開発者と協力してIEnumerable用のマップを作成するためのポインタを与えましたが、コード化されていますが、今は止まっています。CreateMap for IEnumerable

私はこの

CreateMap<IEnumerable<BusinessInfo>, IEnumerable<AdminViewModel.Account>>().ForAllMembers(i => i.Ignore()); 
CreateMap<IEnumerable<BusinessInfo>, IEnumerable<AdminViewModel.Account>>() 
       .ForMember(i => i.COMPANY, opt => opt.MapFrom(p => p.Company)) 

を試みたが、それは会社の定義が含まれていないため、当社はエラー状態です... は、私は何かが足りないと思うが、私はそれが何であるかわかりませんよ。

+0

あなたは一般的にのみ、個々のモデルのためのマップではなく、[モデルのコレクション](HTTPSを定義したい...のような何かをするだろう。 AutoMapper/AutoMapper/wiki /リストと配列) 'CreateMap ()' AutoMapperはコレクションをマップすることができます。マップしようとしているクラスを確認すると便利です。 – Jasen

答えて

1

なぜマッピングしますかIEnumerable<Type>? コレクションなのでCompanyの定義が含まれていないのはなぜですか。

BusinessInfoAdminViewModel.Accountのマッピングが可能です。 // githubの:

Mapper.CreateMap<BusinessInfo, AdminViewModel.Account>()... // do your usual or w/e custom mapping you want. 

は、次に、あなただけの

var adminAccountViewModel = Mapper.Map<IEnumerable<BusinessInfo>, IEnumerable<AdminViewModel.Account>>(businessInfo); 
+0

これは、リード開発者が私にそれをしたがっていることです。結果ページです。私はすぐに大学を卒業するつもりだから、なぜ私がこのようにしたいのか、それとも本当に...それが何を意味するのか分からない... –

+0

@String_Chezうーん、もし2番目のスニペットそれは 'コレクション'を返します。それはあなたがする必要があることをします。 – 12seconds

+0

コントローラのadminAccountViewModelを使用しますか? (businessinfo)は何に接続しますか? –

関連する問題