こんにちは、私が作成したカスタム pagedlist コレクションのマッピングに問題があります。
次のような pagedList インターフェイスがあります。
public interface IPagedList<T> : IList<T>
そして実装:
public class PagedList<T> : List<T>, IPagedList<T>
マッピング構成:
Mapper.CreateMap<User, DestinationViewModel>()
.ForMember(f => f.Score, m => m.MapFrom(s => s.anotherProperty));
次のように、コントローラー アクションでコレクションをマップしようとしています。
var users = userService.GetPagedUsers(page, size, sort, direction);
var model = Mapper.Map<IPagedList<User>, IPagedList<DestinationViewModel>>(users);
まず、これを行うことは可能ですか?私はスタック上でスカウトを行いましたが、決定的な答えは見つかりませんでした。InvalidCastOperations は、Automapper によってスローされた、User のジェネリック コレクションを DestinationViewModel の pagedlist にマップできません。モデルへのマッピング時に IList のような別のリスト タイプを使用しても問題ありませんが、すべてのページング機能に対して IPagedList インターフェイスを使用する必要があります。これについて私の髪を長く伸ばしすぎていたので、どんな助けでも大歓迎です。