0
我正在使用自动映射器,并能够将我的数据对象映射到业务对象,而无任何问题。但是,当我尝试映射即具有虚拟财产数据对象时,它抛出错误:Auto Mapper将数据对象的虚拟属性映射到业务对象时发生错误
AutoMapper.AutoMapperMappingException:'Unable to create a map expression from AdmissionStatu.AdmissionStatusLookup to AdmissionStatus.AdmissionStatusLookup'
我的业务对象是:
public class AdmissionStatus
{
public long AccountID { get; set; }
public string Description { get; set; }
public string Comment { get; set; }
public AdmissionStatusLookup AdmissionStatusLookup { get; set;}
}
我的数据对象是:
public partial class AdmissionStatu
{
public long AccountID { get; set; }
public string Description { get; set; }
public string Comment { get; set; }
public virtual AdmissionStatusLookup AdmissionStatusLookup { get; set; }
}
我在知识库中的查询是:
var query = from rows in dataContext.AdmissionStatus
where rows.AdmissionID == admissionId
select rows;
return ToBusinessObjects(query);
这是自动映射映射配置:
protected virtual IConfigurationProvider CreateAutomappingConfiguration()
{
return new MapperConfiguration(c =>
{
c.CreateMap<DataType, BusinessType>();
c.CreateMap<BusinessType, DataType>();
});
}}
和ToBusinessObjects
方法是:
protected List<BusinessType> ToBusinessObjects(IQueryable<DataType> query)
{
return query.ProjectTo<BusinessType>(mappingConfig).ToList();
}
当过我打电话询问,我在ToBusinessObjects
方法得到错误。我使用相同的设置将所有数据对象映射到业务对象,反之亦然,并且工作正常。但是当我映射具有虚拟属性的对象时,它不起作用。有人能帮我解决这里出了什么问题吗?
我得到了同样的错误 –
虚拟财产'AdmissionStatusLookup'有一个更加虚拟财产吧。这里有关系吗? –
AM不关心虚拟属性:)也许你错过了一张地图。 –