Select (プロジェクト Y を新しい型 X にプロジェクトする場合) またはCast (Y が X から継承されている場合) 拡張機能を使用しますIEnumerable<T>
。
IEnumerable<ContactPersonViewModel> contactPersons =
results.Select(p => CreateContactPersonViewModelFrom(p));
ContactPersonViewModel が ContactPerson の場合:
IEnumerable<ContactPersonViewModel> contactPersons =
results.Cast<ContactPersonViewModel>();
通常、ビュー モデルの作成には、エンティティからビュー モデルへの手動のプロパティ マッピングが含まれます。このような:
IEnumerable<ContactPersonViewModel> contactPersons =
results.Select(p => new ContactPersonViewModel {
Name = p.Name,
Phone = p.Phone
});
そのため、 Automapperなどのマッピング フレームワークを検討することもお勧めします。多くのマッピングを作成します。このコードは次のようになります。
IEnumerable<ContactPersonViewModel> contactPersons =
Mapper.Map<IEnumerable<ContactPersonViewModel>>(results);