我在我的asp.net webapi项目中实现了automapper。我还在业务层中实施了异步任务。我基本上要返回MoviesDto对象,而不是电影的实体,但得到一个错误列表不包含getAwaiter.The错误definiton是在该行List <>不包含getAwaiter的定义
return await _mapper.Map<List<MoviesDto>>(movies);
不知道是什么问题。这里是我的代码如下
MoviesDto
public class MoviesDto : BaseDto
{
public int MovieID { get; set; }
public string Title { get; set; }
public int? ReleaseYear { get; set; }
public string Plot { get; set; }
public int? MovieLength { get; set; }
}
业务接入层
public class MovieBusiness: IMovieBusiness
{
IMovieService _movieService;
IMapper _mapper;
public MovieBusiness(IMovieService movieService, IMapper mapper)
{
_movieService = movieService;
_mapper = mapper;
}
public async Task<IEnumerable<MoviesDto>> GetAllMovies()
{
var movies = _movieService.GetMovies();
return await _mapper.Map<List<MoviesDto>>(movies);
}
}
中有标记的地图'()'方法'async'没有点作为它不涉及I/O并不能阻止潜在的。它是'_movieService.GetMovies()'最好是'async',应该是'await'ed。 – haim770