以下是Automapper配置文件的代码:
public class MyMappingProfile: Profile
{
public MyMappingProfile()
{
Mapper.Initialize(cfg => {
cfg.CreateMap<MyModelClass, MyEntityClass>()
.ForMember(dest => dest.NavigationProp1, opt => opt.Ignore())
.ForMember(dest => dest.NavigationProp2, opt => opt.Ignore());
});
}
}
下面是用于创建新实体对象的代码(仅供参考,我在.NET Core项目中使用此代码,因此_mapper是:
var newEntity = _mapper.Map<MyModelClass, MyEntityClass>(model);
但是上面的代码行会产生以下错误:
找到未映射的成员。在下面查看类型和成员。 添加自定义映射表达式,忽略,添加自定义解析器或修改源/目标类型
对于没有匹配的构造函数,请添加一个无参数ctor,添加可选参数,或映射所有构造函数参数
AutoMapper为您创建了此类型映射,但是无法使用当前配置来映射您的类型。 MyModelClass-> MyEntityClass(目标成员列表) MyModelClass-> MyEntityClass(目标成员列表)
未映射的属性:
NavigationProp1
NavigationProp2
您知道为什么Automapper仍在为未映射的成员抱怨吗,即使他们被忽略了?
谢谢。
答案 0 :(得分:1)
我终于通过更改映射概要文件类来解决它:
public class MyMappingProfile: Profile
{
public MyMappingProfile()
{
CreateMap<MyModelClass, MyEntityClass>()
.ForMember(dest => dest.NavigationProp1, opt => opt.Ignore())
.ForMember(dest => dest.NavigationProp2, opt => opt.Ignore());
}
}
干杯。