I have searched on Stack Overflow and googled about it but I haven't been able to find any help or suggestion on this.
I have a class like the following which create a PagedList
object and also uses AutoMappper to map types from source to destination.
public class PagedList<TSrc, TDest> { protected readonly List<TDest> _items = new List<TDest>(); public IEnumerable<TDest> Items { get { return this._items; } } }
I would like to create a Map for this type that should convert it to another type like the following
public class PagedListViewModel<TDest> { public IEnumerable<TDest> Items { get; set; } }
I have tried with
Mapper.CreateMap<PagedList<TSrc, TDest>, PagedListViewModel<TDest>>();
but the compiler complains because of TSrc
and TDest
Any suggestion?
Automapper is considerably faster when mapping a List<T> of objects on . NET Core (It's still slower on full . NET Framework).
AutoMapper is one of the popular object-object mapping libraries with over 296 million NuGet package downloads. It was first published in 2011 and its usage is growing ever since. Mapster is an emerging alternative to AutoMapper which was first published in 2015 and has over 7.4 million NuGet package downloads.
AutoMapper supports polymorphic arrays and collections, such that derived source/destination types are used if found.
According to the AutoMapper wiki:
public class Source<T> { public T Value { get; set; } } public class Destination<T> { public T Value { get; set; } } // Create the mapping Mapper.CreateMap(typeof(Source<>), typeof(Destination<>));
In your case this would be
Mapper.CreateMap(typeof(PagedList<,>), typeof(PagedListViewModel<>));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With