AutoMapper映射异常:博客项目创建文章时出错求助
解决AutoMapperMappingException:缺少类型映射配置的问题
问题分析
你遇到的AutoMapperMappingException是因为AutoMapper未找到ArticleCreateDTO到Article的映射配置,无法完成对象转换操作。
解决步骤
1. 创建AutoMapper映射配置类
在项目中新增一个继承自Profile的配置类,明确DTO与实体的映射规则:
using AutoMapper; using BlogProject_FurkanDurgun.WEB.Areas.Member.Models.DTOs; using BlogProject_FurkanDurgun.Models.Entities.Concrete; public class ArticleMappingProfile : Profile { public ArticleMappingProfile() { // 核心配置:建立ArticleCreateDTO到Article的映射 CreateMap<ArticleCreateDTO, Article>(); // 若DTO与实体字段名不匹配,需手动指定映射关系(示例) // CreateMap<ArticleCreateDTO, Article>() // .ForMember(dest => dest.ArticleTitle, opt => opt.MapFrom(src => src.Title)); } }
2. 将AutoMapper注册到依赖注入容器
在Program.cs(.NET 6+)或Startup.cs(旧版本)中,确保AutoMapper配置被正确加载:
// .NET 6+ 示例代码 var builder = WebApplication.CreateBuilder(args); // 注册AutoMapper,指定包含映射配置类的程序集 builder.Services.AddAutoMapper(typeof(ArticleMappingProfile));
3. 验证映射实例的注入方式
确保_mapper实例是通过依赖注入获取的,而非手动实例化,这样才能正确加载上述配置。
额外检查项
- 确认
ArticleCreateDTO和Article的命名空间引用无拼写错误 - 若需忽略某些字段的映射,可添加配置:
ForMember(dest => dest.FieldName, opt => opt.Ignore())
内容的提问来源于stack exchange,提问作者Furkan Durgun
相关产品推荐
相关产品推荐

