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不關心虛擬屬性:)也許你錯過了一張地圖。 –