سلام دوستان در پروژه از کتابخانه Automapper استفاده کردم و همه چی درست کار میکنه. ولی یک کلاس با نام CourseSection یک ویو مدل به نام CourseSectionViewModel به پروژه اضافه کردم و میخوام به صورت Automapper از این دو کلاس استفاده کنم اما متاسفانه خطای زیر رو میده
Missing type map configuration or unsupported mapping
کلاس یا جدول CourseSection
public class CourseSection
{
[Key]
public int CourseSectionID { get; set; }
public string CourseSectionTitle { get; set; }
public string CourseSectionLink { get; set; }
public TimeSpan CourseSectionTime { get; set; }
public int CourseID { get; set; }
public DateTime CourseSectionDateTime { get; set; }
public string UserIDCreator { get; set; }
[ForeignKey("CourseID")]
public virtual Course Course { get; set; }
}
کلاس یا ویومدل CourseSectionViewModel
public class CourseSectionViewModel
{
public int CourseSectionID { get; set; }
[Display(Name = "عنوان بخش")]
public string CourseSectionTitle { get; set; }
[Display(Name = "لینک بخش")]
public string CourseSectionLink { get; set; }
[Display(Name = "زمان بخش")]
public TimeSpan CourseSectionTime { get; set; }
public int CourseID { get; set; }
public DateTime CourseSectionDateTime { get; set; }
public string UserIDCreator { get; set; }
}
کلاس Profile
public class AutoMapping : Profile
{
public AutoMapping()
{
CreateMap<CourseSection, CourseSectionViewModel>().ReverseMap();
}
}
و در نهایت در کلاس startup.cs و در متد ConfigureService هم دستور زیر رو نوشتم
services.AddAutoMapper(typeof(Startup));
لطفا راهنمایی بفرمایید دلیل این خطا چی هست.
ظاهرا همه چیز در پروژه شما درست هست. چند تا لینک رو بهتون معرفی می کنم امیدوارم که به دردتون بخوره
Automapper - Missing type map configuration or unsupported mapping
Missing type map configuration or unsupported mapping in Abp version 4.8.0
Missing type map configuration or unsupported mapping error in Automapper
این خطا برای منم به وجود اومد و تونستم حلش کنم. البته نمی دونم دقیقا موردی که برای من به وجود اومده با اشکال شما یکسان باشه ولی تجربه خودم رو در این رابطه بهتون میگم.
ببینید بنده یک جدول به نام adminSiteQuestionCategory دارم و یک مدل به نام BuyQuestionBankViewModel دارم که قراره با هم map بشن.
جدول adminSiteQuestionCategory
public class AdminSiteQuestionCategory
{
[Key]
public int AdminSiteQuestionCategoryID { get; set; }
public string AdminSiteQuestionCategoryName { get; set; }
public long Price { get; set; }
public long DiscountPrice { get; set; }
public string Picture { get; set; }
}
مدل BuyQuestionBankViewModel
public class BuyQuestionBankViewModel
{
public int AdminSiteQuestionCategoryID { get; set; }
public string AdminSiteQuestionCategoryName { get; set; }
public long DiscountPrice { get; set; }
public string Picture { get; set; }
}
در کلاس Automap هم دستور زیر رو نوشتم :
public class AutoMap : Profile
{
public AutoMap()
{
CreateMap<AdminSiteQuestionCategory, BuyQuestionBankViewModel>().ReverseMap();
}
}
و در نهایت به صورت زیر mapping رو انجام دادم:
public IActionResult Index()
{
var myModel = _mapper.Map<BuyQuestionBankViewModel>(_context.adminSiteQuestionCategoryUW.Get());
return View(myModel);
}
بعد از اجرای پروژه با خطای زیر روبرو شدم :
'Missing type map configuration or unsupported mapping.'
نکته : بنده یک نکته ای رو اینجا متوجه شدم. من قصد داشتم توسط دستور زیر که یک لیست از رکوردها رو برمیگردونه Model رو مقداردهی کنم. در حالی که مدل (یعنی BuyQuestionBankViewModel) یک کلاس هست و باید حتما یکبار یک نمونه ازش ساخته بشه.
_context.adminSiteQuestionCategoryUW.Get()
راه حل مشکل :
خب پس بنابراین اومدم و دستورم به صورت زیر تغییر دادم و مشکل حل شد :
public IActionResult Index(IEnumerable<BuyQuestionBankViewModel> model)
{
var myModel = _mapper.Map(_context.adminSiteQuestionCategoryUW.Get(), model);
return View(myModel);
}
در واقع باید قبل از اینکه یک لیست رو وارد Model خودتون کنید یکبار ازش نمونه سازی کنید.
تاریخ :
1403/10/22
- ساعت :
12:29:00 PM
- بازدید :
91
- پاسخ :
1
|
تاریخ :
1399/09/20
- ساعت :
01:21:00 PM
- بازدید :
6649
- پاسخ :
1
|
تاریخ :
1403/11/02
- ساعت :
08:17:00 PM
- بازدید :
54
- پاسخ :
0
|
تاریخ :
1398/10/19
- ساعت :
02:01:00 PM
- بازدید :
3091
- پاسخ :
2
|
تاریخ :
1398/10/26
- ساعت :
10:24:00 PM
- بازدید :
2129
- پاسخ :
1
|
تاریخ :
1403/10/30
- ساعت :
12:33:00 AM
- بازدید :
74
- پاسخ :
1
|
تاریخ :
1403/10/30
- ساعت :
12:40:00 AM
- بازدید :
66
- پاسخ :
1
|
تاریخ :
1403/10/30
- ساعت :
12:39:00 AM
- بازدید :
93
- پاسخ :
1
|
تاریخ :
1398/10/19
- ساعت :
02:54:00 PM
- بازدید :
2802
- پاسخ :
3
|
تاریخ :
1403/10/25
- ساعت :
12:39:00 AM
- بازدید :
146
- پاسخ :
1
|
تاریخ :
1403/11/03
- ساعت :
07:34:00 PM
- بازدید :
63
- پاسخ :
0
|
تاریخ :
1399/12/20
- ساعت :
10:32:00 AM
- بازدید :
2520
- پاسخ :
1
|
تاریخ :
1398/08/09
- ساعت :
07:44:00 PM
- بازدید :
4859
- پاسخ :
1
|
تاریخ :
1399/09/20
- ساعت :
01:30:00 PM
- بازدید :
2577
- پاسخ :
1
|
تاریخ :
1403/11/03
- ساعت :
07:21:00 PM
- بازدید :
44
- پاسخ :
0
|
تاریخ :
1403/10/22
- ساعت :
12:29:00 PM
- بازدید :
91
- پاسخ :
1
|
تاریخ :
1399/09/20
- ساعت :
01:21:00 PM
- بازدید :
6649
- پاسخ :
1
|
تاریخ :
1403/11/02
- ساعت :
08:17:00 PM
- بازدید :
54
- پاسخ :
0
|
تاریخ :
1398/10/15
- ساعت :
08:02:00 PM
- بازدید :
2730
- پاسخ :
1
|
تاریخ :
1398/10/19
- ساعت :
02:01:00 PM
- بازدید :
3091
- پاسخ :
2
|