Asp.net MVC 4中实体和模型的映射

时间:2013-06-03 04:27:05

标签: asp.net-mvc asp.net-mvc-4 automapper nopcommerce

我使用NopCommerce 3.0

映射以下实体和模型

实体

public partial class Package : BaseEntity
    {
        public int ProductID { get; set; }
        public int Quantity { get; set; }
        public int PackageNumber { get; set; }
        public string Weight { get; set; }
        public int DisplayOrder { get; set; }
        public bool Published { get; set; }
    }

模型

[Validator(typeof(PackageValidator))]
    public class PackageModel
    {
        [NopResourceDisplayName("Admin.Catalog.Packages.Fields.ProductID")]
        public int ProductID { get; set; }

        [NopResourceDisplayName("Admin.Catalog.Packages.Fields.Quantity")]
        public int Quantity { get; set; }

        [NopResourceDisplayName("Admin.Catalog.Packages.Fields.PackageNumber")]
        public int PackageNumber { get; set; }

        [NopResourceDisplayName("Admin.Catalog.Packages.Fields.Weight")]
        //[AllowHtml]
        public string Weight { get; set; }

        [NopResourceDisplayName("Admin.Catalog.Packages.Fields.DisplayOrder")]
        public int DisplayOrder { get; set; }

        [NopResourceDisplayName("Admin.Catalog.Packages.Fields.Published")]
        public bool Published { get; set; }
    }

这是我的 Mapper类

public partial class PackageMap : EntityTypeConfiguration<Package>
    {
        public PackageMap()
        {
            this.ToTable("Package");
            this.HasKey(m => m.Id);
            this.Property(m => m.ProductID);
            this.Property(m => m.Quantity);
            this.Property(m => m.PackageNumber);
            this.Property(m => m.Weight);
            this.Property(m => m.DisplayOrder);
            this.Property(m => m.Published);
        }
    }

但我收到以下异常

[AutoMapperMappingException:尝试将Nop.Core.Domain.Catalog.Package映射到Nop.Admin.Models.Catalog.PackageModel。 缺少类型映射配置或不支持的映射。 抛出了“AutoMapper.AutoMapperMappingException”类型的异常。    AutoMapper.MappingEngine.AutoMapper.IMappingEngineRunner.Map(ResolutionContext context)+382

我是Asp.net MVC的新手。请帮我。在此先感谢:)

1 个答案:

答案 0 :(得分:0)

您需要配置代码。它将类似于:

Mapper.CreateMap<Package , PackageModel>();

如果要在两个方向进行映射,可能会反过来。