আপডেট:SelfProfiler
অটোম্যাপার ভি 2 হিসাবে অপসারণ করা হয়েছে বলে এখানে পোস্ট করা পদ্ধতির আর বৈধতা নেই ।
আমি থাইয়ের মতো একই পদ্ধতি গ্রহণ করব। তবে আমি SelfProfiler<>
মানচিত্রগুলি পরিচালনা করতে অন্তর্নির্মিত শ্রেণিটি ব্যবহার করব, তারপরে Mapper.SelfConfigure
আরম্ভ করার জন্য ফাংশনটি ব্যবহার করব ।
উত্স হিসাবে এই অবজেক্টটি ব্যবহার:
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime BirthDate { get; set; }
public string GetFullName()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
এবং এগুলি গন্তব্য হিসাবে:
public class UserViewModel
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class UserWithAgeViewModel
{
public int Id { get; set; }
public string FullName { get; set; }
public int Age { get; set; }
}
আপনি এই প্রোফাইলগুলি তৈরি করতে পারেন:
public class UserViewModelProfile : SelfProfiler<User,UserViewModel>
{
protected override void DescribeConfiguration(IMappingExpression<User, UserViewModel> map)
{
//This maps by convention, so no configuration needed
}
}
public class UserWithAgeViewModelProfile : SelfProfiler<User, UserWithAgeViewModel>
{
protected override void DescribeConfiguration(IMappingExpression<User, UserWithAgeViewModel> map)
{
//This map needs a little configuration
map.ForMember(d => d.Age, o => o.MapFrom(s => DateTime.Now.Year - s.BirthDate.Year));
}
}
আপনার অ্যাপ্লিকেশন শুরু করতে, এই শ্রেণি তৈরি করুন
public class AutoMapperConfiguration
{
public static void Initialize()
{
Mapper.Initialize(x=>
{
x.SelfConfigure(typeof (UserViewModel).Assembly);
// add assemblies as necessary
});
}
}
আপনার Global.asax.cs ফাইলটিতে এই লাইনটি যুক্ত করুন: AutoMapperConfiguration.Initialize()
এখন আপনি আপনার ম্যাপিং ক্লাসগুলি রাখতে পারেন যেখানে তারা আপনাকে বোঝায় এবং একটি একক ম্যাপিং ক্লাস সম্পর্কে চিন্তা করবেন না।