首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >映射后返回内容错误(自动映射程序.NET核心)

映射后返回内容错误(自动映射程序.NET核心)
EN

Stack Overflow用户
提问于 2019-05-28 02:11:08
回答 1查看 552关注 0票数 0

我使用自动映射程序将实体映射到数据。

在appservice方法中,我需要从DB获取所有值并将其推送到list

下面是我的方法

代码语言:javascript
复制
 public class ExperienceAppService : IExperience
{
    private readonly ApplicationDbContext _context;
    private readonly IMapper _mapper;

    public ExperienceAppService(ApplicationDbContext context,
        IMapper mapper)
    {
        _context = context;
        _mapper = mapper;
    }

    public async Task<List<ExperienceListDto>> GetExperiences()
    {
        var experiences = await _context.Experiences
            .ProjectTo<ExperienceListDto>(_mapper.ConfigurationProvider)
            .ToListAsync();
        return experiences;
    }

}

下面是映射配置文件

代码语言:javascript
复制
 public class MappingsProfile : Profile
{
    public MappingsProfile()
    {
        CreateMap<UserDto, User>();

        #region Experiences

        CreateMap<ExperienceDto, Experience>();
        CreateMap<Experience, ExperienceDto>().ForMember(x => x.Name,
                opt => opt.MapFrom(n => n.Name))
            .ForMember(x => x.City, opt => opt.MapFrom(c => c.City))
            .ForMember(x => x.Price, opt => opt.MapFrom(c => c.Price))
            .ForMember(x => x.Rating, opt => opt.MapFrom(c => c.Rating));

        #endregion
    }
}

下面是我如何在Startup.cs中注册它

代码语言:javascript
复制
services.AddMvc().AddJsonOptions(options =>
            {
                options.SerializerSettings.ContractResolver =
                    new CamelCasePropertyNamesContractResolver();
                options.SerializerSettings.ReferenceLoopHandling =
                    ReferenceLoopHandling.Ignore;
            })
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
        //Mapper.Initialize(cfg => cfg.AddProfile<MappingsProfile>());
        services.AddAutoMapper();

我的问题是,作为回应,我会收到这样的文本

{ "stateMachine":{ "<>1__state":0,"<>t__builder":{},"<>4__this":{} },"context":{},"moveNextAction":{ "method":{ "name":"MoveNext","declaringType":"System.Runtime.CompilerServices.AsyncTaskMethodBuilder1+AsyncStateMachineBox1[[System.Collections.Generic.List1[[TooSeeWeb.Core.DtoModels.Experiences.ExperienceListDto, TooSeeWeb.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[TooSeeWeb.Infrastructure.AppServices.Experiences.ExperienceAppService+<GetExperiences>d__3, TooSeeWeb.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "reflectedType": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder1+AsyncStateMachineBox1[[System.Collections.Generic.List1[TooSeeWeb.Core.DtoModels.Experiences.ExperienceListDto,TooSeeWeb.Core,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null],System.Private.CoreLib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e],TooSeeWeb.Infrastructure.AppServices.Experiences.ExperienceAppService+d__3,TooSeeWeb.Infrastructure,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null],System.Private.CoreLib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e","memberType":8,"metadataToken":100682290,“模块”:{ "mdStreamVersion":131072,"fullyQualifiedName":Version=4.0.0.0"moduleVersionId":"9aeda1ea-7722-4ca6-a7ca-c000af27dec0","metadataToken":1,

一个тв更多的代码,最后,我从方法中获得值。我的问题在哪里?

EN

回答 1

Stack Overflow用户

发布于 2019-05-28 02:15:00

我的问题不在mapper。在Controller中,我返回了一个类似如下的列表

代码语言:javascript
复制
    [HttpGet]
    public IActionResult GetExperiences()
    {
        var experiences = _experienceAppService.GetExperiences();
        return Ok(experiences);
    }

而不是这个

代码语言:javascript
复制
    [HttpGet]
    public IActionResult GetExperiences()
    {
        var experiences = _experienceAppService.GetExperiences();
        return Ok(experiences.Result);
    }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56330692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档