我在设置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来处理Column Order数据注释吗?