【发布时间】:2018-12-27 10:29:37
【问题描述】:
我正在构建一个新项目,用于浏览电影并提出您的意见。现在我在管理部分,我添加了添加电影的功能,但是当我尝试添加电影时,自动映射器会为我将 dto 映射到数据模型的服务上的未映射成员抛出异常。成员来自基本数据模型,例如 id。
编辑:
我试图忽略所有产生此异常的成员,还尝试创建一个没有参数但不起作用的构造函数。
// Initialization
Mapper.Initialize(conf =>
{
conf.CreateMap<Movie, MovieDto>();
conf.CreateMap<MovieDto, Movie>();
conf.CreateMap<MovieDto, MovieViewModel>();
});
// Base Data Model
public class DataModel
{
[Key]
public int Id { get; set; }
[DataType(DataType.DateTime)]
public DateTime? CreatedOn { get; set; }
[DataType(DataType.DateTime)]
public DateTime? ModifiedOn { get; set; }
public bool IsDeleted { get; set; }
[DataType(DataType.DateTime)]
public DateTime? DeletedOn { get; set; }
}
// Movie Data Model
public class Movie: DataModel
{
public Movie(string title, double rating, string duration, string type, string description, DateTime releaseDate, string producer)
{
this.Title = title;
this.Rating = rating;
this.Duration = duration;
this.Type = type;
this.Description = description;
this.ReleaseDate = releaseDate;
this.Producer = producer;
}
// successfully mapped members
}
// Movie DTO
public class MovieDto
{
public string Title { get; set; }
public double Rating { get; set; }
public string Duration { get; set; }
public string Type { get; set; }
public string Description { get; set; }
public DateTime ReleaseDate { get; set; }
public string Producer { get; set; }
}
// Add functionality
public void AddMovie(MovieDto movie)
{
//execption here
var movieDM = this.mapper.Map<Movie>(movie);
this.repo.Add(movieDM);
this.saver.SaveChanges();
}
这是img上的例外:https://i.imgur.com/RGZP6NP.png
【问题讨论】:
-
Movie类可能需要一个不带参数的构造函数。 -
我试过不行。
标签: asp.net .net asp.net-core automapper asp.net-core-mvc-2.1