نوشته شده توسط
hakim22
اول باید مشخص کنید که برای MVC5 می خواهید یا برای Core
تغییر اساسی سیستم AutoMapper اینه که از این به بعد باید IMapper رو به عنوان تزریق کنید تا به اون دسترسی داشته باشید. قبلا یک کلاس استاتیک به نام Mapper بود که می تونست همه ی Map ها بارگذاری کنه ولی خیلی از برنامه نویسها با نوشتن کلاسهای خودشون سعی می کردن به جای کلاس استاتیک اون رو تزریق کنند. در نسخه های جدیدتر این اتفاق در خود فریم ورک افتاده.
اول باید کلاس IMapper رو در سیستم تزریق وابستگی که دارید (Ninject و StructureMape و ...) ثبت کنید (Register) و بعد در هر کلاسی نیاز به AutoMapper داشتید باید IMapper رو تزریق کنید.
IMapper mapper = AutoMapperBinder();
kernel.Bind<IMapper>().ToConstant(mapper).InSingle tonScope();
در ASP.NET Core یک سرویس مخصوص این کار قبلا پیاده شده کافیه Module مربوطه رو نصب کنید. و بعد در سرویس لود کنید.
services.AddAutoMapper();
پروژه ی MVC5 که در اون قبلا AutoMapper با Ninject تنظیم شده :
https://github.com/codehaks/Portal-Net
پروژه ی ASP.NET Core با AutoMapper :
https://github.com/codehaks/Portal-Core-Fa
سلام.
بله این کار رو انجام دادم و تنظیم کردم. اما یه مشکلی که هست اینه که باید یک کلاس
public class AutomapperDomin: Profile
{
public AutomapperDomin()
{
CreateMap<Group, GroupViewmodel>();
CreateMap<GroupViewmodel, Group>();
}
}
می خواستم بدونم این تنها روش مپ کردنه؟؟