【发布时间】:2022-01-04 07:02:28
【问题描述】:
我的自动映射器配置
public AutoMapperProfile()
{
CreateMap<SampleParameter, SampleParameterModel>().ReverseMap();
CreateMap<SampleResult, SampleResultModel>().ReverseMap();
CreateMap<Sampling, SamplingModel>().ReverseMap();
CreateMap<User, UserModel>().ReverseMap();
}
这不会将 ICollection 映射到对象 Sampling & SamplingModel 中的 ICollection
public class Sampling : BaseEntity
{
public int LocationId { get; set; }
public virtual Location Location { get; set; }
public virtual ICollection<SampleResult> SampleResults {get;set;}
}
public class SamplingModel : BaseModel
{
public int LocationId { get; set; }
public LocationModel Location { get; set; }
public ICollection<SampleResultModel> SampleResults { get; set; }
}
public IActionResult SamplingsByFilter([FromBody] SamplingHeaderFilterModel filter)
{
var samplings = samplingService.GetSamplingsByFilter(filter).Include("SampleResults").AsQueryable();
var pagedResult = PageResult(samplings, e => this.mapper.Map<Sampling, SamplingModel>(e), new UrlQueryOptions(new QueryCollection()));
return pagedResult;
}
例外
错误:错误映射类型。
Mapping types:
Sampling -> SamplingModel
BLD.Legionella.Domain.Entities.Sampling -> BLD.Legionella.Domain.Models.SamplingModel
Type Map configuration:
Sampling -> SamplingModel
BLD.Legionella.Domain.Entities.Sampling -> BLD.Legionella.Domain.Models.SamplingModel
Destination Member:
**SampleResults**
在 lambda_method(Closure , Sampling , SamplingModel , ResolutionContext )
在 System.Linq.Enumerable.SelectListIterator`2.MoveNext()
Mapping types:
Sampling -> SamplingModel
BLD.Legionella.Domain.Entities.Sampling -> BLD.Legionella.Domain.Models.SamplingModel
Type Map configuration:
Sampling -> SamplingModel
BLD.Legionella.Domain.Entities.Sampling -> BLD.Legionella.Domain.Models.SamplingModel
Destination Member:
**SampleResults**
【问题讨论】:
-
在我的互联网上工作:dotnetfiddle.net/lSBlSR
-
好的,我发现我的问题是子对象中有一个强制转换异常。感谢工作示例。我带我走上正确的道路!
标签: c# automapper automapper-6