Asp.net mvc 4 某些无效参数使用Automapper生成错误映射

Asp.net mvc 4 某些无效参数使用Automapper生成错误映射,asp.net-mvc-4,automapper,Asp.net Mvc 4,Automapper,我是Automapper的新手,在过去,除了这一次,我能够处理大多数映射错误 当我将CaseInfo实体映射到CaseInfoEdit视图模型时,我的(HTTPGET)Edit controller方法中出现了一个错误,该模型表示我在下面的代码行中有一些无效参数 var vModel = Mapper.Map<CaseInfo, CaseInfoEditViewModel>(editCase); 视图模型有一个外键AttorneyId和一个attorneyReference属性,我

我是Automapper的新手,在过去,除了这一次,我能够处理大多数映射错误

当我将CaseInfo实体映射到CaseInfoEdit视图模型时,我的(HTTPGET)Edit controller方法中出现了一个错误,该模型表示我在下面的代码行中有一些无效参数

var vModel = Mapper.Map<CaseInfo, CaseInfoEditViewModel>(editCase);
视图模型有一个外键AttorneyId和一个attorneyReference属性,我相信这就是映射失败的原因。CaseInfo实体和CaseInfoViewModel完全相同

public class CaseInfoEditViewModel
{
    public int CaseInfoID { get; set; }

    // a bunch of property sets and gets ...

    public int AttorneyId { get; set; }
    public virtual Attorney Attorney { get; set; }
为了纠正映射,我添加了一个FormMember,将源和目标设置为代理引用属性,这对映射问题没有帮助。如果您能以正确的方式映射参考属性,我们将不胜感激

Mapper.CreateMap<CaseInfoEditViewModel, CaseInfo>()
              .ForMember(dst => dst.AttorneyId, opt => opt.MapFrom(src => src.AttorneyId))
              .ForMember(dst => dst.Attorney, opt => opt.MapFrom(src => src.Attorney))
              .ForMember(dst => dst.CaseInfoID, opt => opt.Ignore());
Mapper.CreateMap()
.ForMember(dst=>dst.AttorneyId,opt=>opt.MapFrom(src=>src.AttorneyId))
.ForMember(dst=>dst.decorney,opt=>opt.MapFrom(src=>src.decorney))
.ForMember(dst=>dst.CaseInfoID,opt=>opt.Ignore());

我已经找到了问题所在,问题不在于我如何在CreateMap中映射律师成员,因为它是正确的。get语句返回的IEnumerable列表不正确。我改变了这样查询数据的方式,它返回一个实体,映射问题得到了纠正

var editCase = unitOfWork.CaseInfoRepository.GetByID(id);
var editCase = unitOfWork.CaseInfoRepository.GetByID(id);