我有以下课程:
public partial class ScheduledDeduction
{
public int ID { get; set; }
public int DriverId { get; set; }
public string Description { get; set; }
public DateTime DateTime { get; set; }
public decimal Amount { get; set; }
public virtual Driver Driver { get; set; }
}
public partial class Driver
{
public int ID { get; set; }
public int CompanyId { get; set; }
public string Name { get; set; }
和查看模型类:
public abstract class ScheduledDeductionDetailVM
{
public int ID { get; set; }
[Display(Name = "Driver Name")]
public string DriverName { get; set; }
public string Description { get; set; }
[Display(Name = "Date")]
[DisplayFormat(DataFormatString = "{0:d}")]
public System.DateTime DateTime { get; set; }
[Display(Name = "Amount")]
[DisplayFormat(DataFormatString = "{0:c}")]
public decimal Amount { get; set; }
}
我有以下 Automapper 规则:
CreateMap<Infrastructure.Asset.ScheduledDeduction, ViewModels.ScheduledDeductionDetailVM>();
并尝试使用:
ScheduledDeduction scheduledDeduction = db.ScheduledDeductions.Find(id);
ScheduledDeductionDetailVM model = mapper.Map<ScheduledDeductionDetailVM>(scheduledDeduction);
它有效!为什么?ScheduledDeductionDetailVM 具有属性 DriverName ,可以从 ScheduledDeduction.Driver.Name 中获取,并且根本没有描述。但它映射正确......