我必须将简历信息发布到 Db 为此,我创建了一个实体简历:
public class CirculumVitae
{
public Guid UserId { get;set; }
public IEnumerable<Skills> Skills { get; set; }
[NotMapped]
public List<Langages> Langages { get; set; }
public string Resume { get; set; }
public IEnumerable<Experience> Experiences { get; set; }
public IEnumerable<Education> Educations { get; set; }
public IEnumerable<Projects> Projects { get; set; }
public UserInfo UserInfos { get; set; }
}
我使用 Mediator CQRS 模式和 asp.net core Api ,所以我创建了一个用于发布数据的命令
public class CreateCVCommand : CreateCommand
{
public Guid UserId { get; set; }
public IEnumerable<SkillsDto> Skills { get; set; }
[NotMapped]
public virtual List<Langages> Langages { get; set; }
public string Resume { get; set; }
public IEnumerable<ExperienceDto> Experiences { get; set; }
public IEnumerable<EducationDto> Educations { get; set; }
public IEnumerable<ProjectsDto> Projects { get; set; }
public UserInfoDto UserInfos { get; set; }
}
尝试从 Swagger 发布数据后,所有可枚举数组都是空的
我用列表替换了枚举,但同样的问题 请帮助我
您提到您正在使用 mediator cqrs 模式,我认为您没有为此使用 MediatR 库,建议使用它。
您可以找到链接这里。
代替 IEnumerable 使用列表(如您的情况所示,语言计数可用)。 IEnumerable 甚至不保存列表中项目的计数,相反,您必须迭代元素才能获取项目的计数。
您的命令类将类似于以下内容:
using MediatR;
namespace Test
{
public class CreateCVCommand : IRequest<CvDto>
{
public Guid UserId { get; set; }
public List<SkillsDto> Skills { get; set; }
[NotMapped]
public List<Langages> Langages { get; set; }
public string Resume { get; set; }
public List<ExperienceDto> Experiences { get; set; }
public List<EducationDto> Educations { get; set; }
public List<ProjectsDto> Projects { get; set; }
public UserInfoDto UserInfos { get; set; }
}
}