1

设置 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 以使用列顺序数据注释?

4

1 回答 1

3

Order不能是负数。由于答案至少需要 30 个字符,因此我添加了MSDN 的文档

获取或设置属性映射到的列的从零开始的顺序。

于 2014-04-14T19:53:56.703 回答