我试图将Automapper用于多对多关系和实体框架。
这是我的实体:
public class ZChangeUnits
{
[Key]
public string CCode1 { get; set; }
[ForeignKey("CCode1")]
public virtual ZUnits ZUnits1 { get; set; }
[Key]
public string CCode2 { get; set; }
[ForeignKey("CCode2")]
public virtual ZUnits ZUnits2 { get; set; }
public decimal NZarib { get; set; }
}
这是ZUnit
实体:
[Key]
public string CCode { get; set; }
public string CTitle { get; set; }
public string CMGCode { get; set; }
public virtual ZCodes ZCodes { get; set; }
我想将它们映射到此ViewModel,可能我应该删除标题:
public class ChangeUnitsViewModel
{
public string CCode1 { get; set; }
public string ZUnitsCTitle1 { get; set; }
public string CCode2 { get; set; }
public string ZUnitsCTitle2 { get; set; }
public decimal NZarib { get; set; }
}
这是我目前正在使用的映射:
Mapper.CreateMap<ZChangeUnits, ChangeUnitsViewModel>()
.ForMember(d => d.ZUnitsCTitle1,
o => o.MapFrom(s => s.ZUnits1.CTitle))
.ForMember(d => d.ZUnitsCTitle2,
o => o.MapFrom(s => s.ZUnits2.CTitle));
但它似乎没有效果并且提供Missing type map configuration or unsupported mapping.
例外。
您能否指导我如何使用Automapper在此课程中执行基本的CRUD操作?任何有用的链接,我都不知道如何使用它。
为了使这个真正完整,这是我的控制器!
var data = exchangeRepo.GetAll().ToList();
var d = AutoMapper.Mapper.Map<ChangeUnitsViewModel>(data);