MVC 3 アプリケーションを開発しており、AutoMapper を使用して ViewModel とエンティティの間でデータを移動しています。2 つのリスト間でデータを移動する必要があるシナリオがあります。奇妙な理由で、AutoMapper はソース オブジェクトから最初のオブジェクトのみをコピーし、次に同じオブジェクトを n 回コピーして宛先リストにコピーするように見えます。たとえば、2 つのリストがあり、ソースには 6 つのエンティティ アイテムが含まれ、デスティネーションにはインスタンス化されたばかりであるため、0 アイテムが含まれているとします。source[0] の位置にあるアイテムがコピー先にコピーされ、次に source[0] がコピー元リストにあるアイテムと同じ数 (この場合は 6) だけ繰り返しコピーされます。この原因。
AutoMapper 構成ファイルは次のとおりです。
public static class AutoMapperConfigurator
{
public static void Configure()
{
Mapper.CreateMap<User, UserModel>();
Mapper.CreateMap<Posting, PostingModel>();
}
}
これがGlobal.asaxファイルの設定です
protected void Application_Start()
{
AutoMapperConfigurator.Configure();
}
Map メソッドを呼び出している場所は次のとおりです。
userSearchModel.UserList = Mapper.Map<IList<User>, IList<UserModel>>(userEntities);