Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core Automapper v8并没有忽略EF(实体框架)类的导航属性_Asp.net Core_Entity Framework 6_Automapper - Fatal编程技术网

Asp.net core Automapper v8并没有忽略EF(实体框架)类的导航属性

Asp.net core Automapper v8并没有忽略EF(实体框架)类的导航属性,asp.net-core,entity-framework-6,automapper,Asp.net Core,Entity Framework 6,Automapper,以下是Automapper配置文件的代码: public class MyMappingProfile: Profile { public MyMappingProfile() { Mapper.Initialize(cfg => { cfg.CreateMap<MyModelClass, MyEntityClass>() .ForMember(dest => dest.Navigat

以下是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());
        });
    }
}
公共类MyMappingProfile:Profile
{
公共MyMappingProfile()
{
Mapper.Initialize(cfg=>{
cfg.CreateMap()
.FormMember(dest=>dest.NavigationProp1,opt=>opt.Ignore())
.FormMember(dest=>dest.NavigationProp2,opt=>opt.Ignore());
});
}
}
下面是创建新实体对象的代码(仅供参考,我在.NET核心项目中使用此代码,因此_mapper是:

var newEntity = _mapper.Map<MyModelClass, MyEntityClass>(model);
var newEntity=\u mapper.Map(模型);
但是上面的代码行会产生以下错误:

找到未映射的成员。请查看下面的类型和成员。 添加自定义映射表达式、忽略、添加自定义解析程序或修改源/目标类型

对于无匹配构造函数,请添加无参数构造函数、添加可选参数或映射所有构造函数参数 AutoMapper为您创建了此类型映射,但无法使用当前配置映射您的类型。 MyModelClass->MyEntityClass(目标成员列表) MyModelClass->MyEntityClass(目标成员列表)

未映射属性:

导航Prop1

导航Prop2

你知道为什么Automapper还在抱怨未映射的成员,即使他们被忽略了


谢谢。

我最终通过如下更改映射配置文件类解决了这个问题:

public class MyMappingProfile: Profile
{
    public MyMappingProfile()
    {
        CreateMap<MyModelClass, MyEntityClass>()
            .ForMember(dest => dest.NavigationProp1, opt => opt.Ignore())
            .ForMember(dest => dest.NavigationProp2, opt => opt.Ignore());
    }
}
公共类MyMappingProfile:Profile
{
公共MyMappingProfile()
{
CreateMap()
.FormMember(dest=>dest.NavigationProp1,opt=>opt.Ignore())
.FormMember(dest=>dest.NavigationProp2,opt=>opt.Ignore());
}
}

干杯。

MyModelClass和MyEntityClass的定义是什么?与我们分享相关的代码,迷你演示会很有帮助。您没有正确配置它。请看。@Lucian Bargaoanu,您能指出我在配置中到底做错了什么吗?我浏览了您提供的链接,但无法找出错误所在配置错误。谢谢。从零开始,像文档中那样进行一个简单的测试。让它工作起来。然后你就会看到不同。由于时间限制,我不能在这方面花费太多时间。因此我将缺少的目标属性都添加到源中,现在这已经解决了问题。感谢所有人的建议。