Tôi có hai lớp (mô hình chế độ xem MVC) được kế thừa từ một lớp cơ sở trừu tượng.Trình tự động với lớp cơ sở và các tùy chọn cấu hình khác nhau để triển khai
abstract class BaseModel { }
class Car : BaseModel
{
public string Speed { get; set; }
}
class Camper : BaseModel
{
public int Beds { get; set; }
}
và muốn cấu hình AutoMapper với lớp cơ sở, một cái gì đó như:
Mapper.CreateMap<BaseModel, DataDestination>();
var someObj = new DataDastination();
Mapper.Map(instanceOfBaseModel, someObj);
Ở đây tôi nhận được lỗi, vì Automapper không có cấu hình của xe hoặc cắm trại. Đã thử định cấu hình Automapper với một cái gì đó như thế này:
Mapper.CreateMap<BaseModel, DataDestination>()
.ForMember(dest => dest.SomeProp, mapper => mapper.MapFrom(....));
Trong MapFrom, tôi chỉ thấy các thuộc tính từ lớp cơ sở! Làm thế nào để cấu hình Automapper để sử dụng BaseClass, và biểu hiện cụ thể ForMember cho ô tô và Camper? Ví dụ: nếu đó là Ô tô, hãy lập bản đồ thuộc tính này từ vị trí này và nếu đó là Xe cắm trại, hãy lập bản đồ thuộc tính này từ nơi khác.
Không làm việc cho một tình huống tương tự giải thích về [Không thể lập bản đồ từ ViewModel để ApplicationUser trong AutoMapper 5] (http://stackoverflow.com/questions/39541588/cannot -map-from-viewmodel-to-applicationuser-in-automapper-5? noredirect = 1 # comment66397101_39541588). Bất kỳ ý tưởng? –