ef代码优先-具有列顺序数据注释的自动映射器



在设置AutoMapper配置时,我在应用程序启动时遇到问题。它在创建业务对象到数据对象的映射时抛出异常。这个问题似乎来自于数据注释的使用。值得一提的是,从数据对象到业务对象的映射工作得很好。

我得到的异常是CustomAttributeException:

未找到指定的"Order"属性。

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来处理列顺序数据注释?

Order不能为负数。既然答案至少需要30个字符,让我添加MSDN的文档:

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

相关内容

  • 没有找到相关文章

最新更新