我正在尝试使用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”对象只是替换了对象的实例。有没有办法在不逐个属性的情况下更新对象?
谢谢!
答案 0 :(得分:1)
没有使用自动化库的唯一方法就是这个......
entities.Entry(characterToUpdate).CurrentValues.SetValues(character);
这将替换所有非导航属性的属性。