Entity framework 自动映射取消实体键

Entity framework 自动映射取消实体键,entity-framework,automapper,Entity Framework,Automapper,我有一个简单的更新方法: public void Update(Users user) { tblUserData userData = _context.tblUserDatas.Where(u => u.IDUSER == user.IDUSER).FirstOrDefault(); if (userData != null) { Mapper.CreateMap<Users, tblUserData

我有一个简单的更新方法:

public void Update(Users user)
    {
        tblUserData userData = _context.tblUserDatas.Where(u => u.IDUSER == user.IDUSER).FirstOrDefault();
        if (userData != null)
        {
            Mapper.CreateMap<Users, tblUserData>();
            userData = Mapper.Map<Users, tblUserData>(user);
            _context.SaveChanges()
        }
    }
公共作废更新(用户)
{
tblUserData userData=_context.tblUserData.Where(u=>u.IDUSER==user.IDUSER).FirstOrDefault();
if(userData!=null)
{
CreateMap();
userData=Mapper.Map(用户);
_context.SaveChanges()
}
}
当我调用Map()时,userData中的实体键被置空,这让我非常困惑。有人知道如何在保留实体密钥的同时映射属性吗

谢谢


Chris

您的目标对象是否与源对象具有完全相同的属性名称?确实如此,但如果目标对象具有源对象没有的属性,Automapper会将该属性擦除吗?不会擦除该属性,但它也不会映射值,因此会映射null或其他默认值。