C# 忽略从目标到源的自动映射中的属性?

C# 忽略从目标到源的自动映射中的属性?,c#,automapper,C#,Automapper,映射配置文件: Mapper.CreateMap<Customer, CustomerDto>(); Mapper.CreateMap<CustomerDto, Customer>(); Mapper.CreateMap<Movie, MoviesDto>(); Mapper.CreateMap<MoviesDto, Movie>(MemberList.Source); MoviesDtoclass

映射配置文件:

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

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;
        }
    }
}
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”类型的异常,但未在用户代码中处理


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

在定义单个属性映射时(由于它们使用相同的名称自动映射,所以您没有定义),您必须指定一条忽略指令,如下所示:

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

发生此错误时,您将映射到哪个方向?顺便说一句,这个错误实际上不在AutoMapper中,而是在AutoMapper中EntityFramework@BDL公平地说,我已经扩展了我的答案