设置 AutoMapper 配置时,我在应用程序启动时遇到问题。在创建业务对象到数据对象的映射时,它会引发异常。问题似乎来自使用数据注释。值得一提的是,从数据对象到业务对象的映射工作得很好。
我得到的异常是 CustomAttributeException:
未找到指定的“订单”属性。
AutoMapper.config 映射:
Mapper.CreateMap<Note, NoteData>();
数据库对象定义为:
public class NoteData
{
[Key]
[Column(Order = -1)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public virtual Guid Id { get; set; }
[Timestamp]
[ConcurrencyCheck]
[Column(Order = 999)]
public virtual byte[] Version { get; set; }
[Required]
public virtual DateTime Date { get; set; }
[Required]
[StringLength(500)]
public virtual string Value { get; set; }
public virtual bool IsDeleted { get; set; }
[Required]
public virtual UserData CreatedBy { get; set; }
}
我尝试忽略具有列顺序数据注释的字段,但这并没有解决问题。
当我注释掉订单数据注释时,Automapper 没有问题。所以我的主要问题是有没有办法配置 AutoMapper 以使用列顺序数据注释?