繁体   English   中英

忽略Automapper中从目标到源的属性?

[英]Ignore property in Automapper from destination to source?

映射配置文件:

Mapper.CreateMap<Customer, CustomerDto>();
        Mapper.CreateMap<CustomerDto, Customer>();
        Mapper.CreateMap<Movie, MoviesDto>();
        Mapper.CreateMap<MoviesDto, Movie>(MemberList.Source);

Movie课:

namespace Demo3.Models
{
    public class Movie
    {
        public int Id { get; set; }

        [Required(ErrorMessage = "Please Enter Customer Name")]
        [StringLength(255)]
        public string Name { get; set; }

        public Genre Genre { get; set; }

        [Required]
        public byte GenreId { get; set; }

        public DateTime DateAdded { get; set; }
        [Display(Name = "Release Date")]
        public DateTime ReleaseDate { get; set; }

        [Display(Name = "Number In Stock")]
        [Range(1, 20)]
        public byte NumberInStock
        {
            get; set;
        }
    }
}

MoviesDto类:

namespace Demo3.Dtos
{
    public class MoviesDto
    {
        public int Id { get; set; }

        [Required]
        [StringLength(255)]
        public string Name { get; set; }

        [Required]
        public byte GenreId { get; set; }

        public DateTime ReleaseDate { get; set; }

        //public Genre Genre { get; set; }
        [Range(1, 20)]
        public byte NumberInStock
        {
            get; set;
        }
    }
}

例外:

EntityFramework.dll中发生类型'System.InvalidOperationException'的异常,但未在用户代码中处理

在此处输入图片说明

在此处输入图片说明

我需要在保存时忽略Genre属性。

在定义单个属性映射时(您之所以会幸免,因为它们通过使用相同的名称自动映射),您必须指定一条忽略指令,如下所示:

Mapper.CreateMap<MoviesDto, Movie>()
      .ForMember(d => d.Genre, o => o.Ignore());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM