更新链接到实体

本文关键字:实体 链接 更新 | 更新日期: 2023-09-27 18:14:30

我正在尝试使用Linq to Entities构建一个数据访问层。我遇到了一个问题,我想更新整个对象,但我不确定如何做到这一点。到目前为止,我有以下内容:

public static Character Update(Character character)
        {
            using (Entities entities = new Entities())
            {
                Character characterToUpdate = entities.Characters.Where(c => c.PK_CharacterID == character.PK_CharacterID).First();
                characterToUpdate = character;
                entities.SaveChanges();
                return character;
            }
        }

但是,我意识到在这种情况下更改"Character"对象只是替换了对象的实例。有没有办法在不逐个属性的基础上更新对象?

谢谢!

更新链接到实体

在不使用自动映射库的情况下做到这一点的唯一方法是…

entities.Entry(characterToUpdate).CurrentValues.SetValues(character);

这将取代所有非导航属性。