1

我正在尝试使用 AutoMapper 将 ViewModel 映射到模型。

这是我简化的 ViewModel(源)类:

    public class EditPaypointVM
    {

        public Int64 Id { get; set; }

        public Int64 OrganisationId { get; set; }

        [Required]
        public string OrganisationContactNumber { get; set; }

        public Int64 PostalAddressId { get; set; }

        public string PostalAddressAddressText { get; set; }

        [Required]
        public Int64 PostalAddressArea { get; set; }

        public string PostalAddressAreaText { get; set; }

        public string PostalAddressCode { get; set; } 

        public Int64 PhysicalAddressId { get; set; }

        public string PhysicalAddressAddressText { get; set; }

        [Required]
        public Int64 PhysicalAddressArea { get; set; }

        public string PhysicalAddressAreaText { get; set; }

        public string PhysicalAddressCode { get; set; }
    }

这是我的简化模型(目的地)类:

    public class Paypoint
    {
        public Int64 Id { get; set; }

        public virtual Organisation Organisation { get; set; }

        public virtual Employer Employer { get; set; }

        public virtual List<EmploymentContract> EmploymentContracts { get; set; }

        public bool IsActive { get; set; }
    }


    public class Organisation
    {
        public Int64 Id { get; set; }

        public virtual List<EmailAddress> EmailAdresses { get; set; }

        public virtual List<ContactNumber> ContactNumbers { get; set; }

        public virtual List<Address> Adresses { get; set; }

        public string RegisteredName { get; set; }

        public string TradingName { get; set; }

        public string RegistrationNumber { get; set; }

        public string WebsiteAddress { get; set; }
    }

这是我在应用程序启动时在内存中创建映射而执行的代码:

        Mapper.CreateMap<EditPaypointVM, Paypoint>()
           .ForMember(dest => dest.IsActive,
                opt => opt.UseValue(true))
           .ForMember(dest => dest.Organisation,
                opt => opt.UseDestinationValue())
           .Ignore(i => i.Employer)
           .Ignore(i => i.EmploymentContracts);

在单元测试中执行“AssertConfigurationIsvalid”时,会引发“未映射错误,指出 Paypoint 的组织成员未映射。

关于是什么原因的任何想法?

4

0 回答 0