Entity Framework: обновление объекта при обновлении другого объекта

1
задан Dave Mackey 30 June 2010 в 19:00
поделиться

1 ответ

Как насчет события SavingChanges:

public override int SaveChanges(SaveOptions options)
{

    foreach (ObjectStateEntry entry in ObjectStateManager.GetObjectStateEntries(
        EntityState.Added | EntityState.Modified))
    {
        //DO STUFF like create history
    }
    return base.SaveChanges(options);
}

Вот страница, которая может помочь: http://msdn.microsoft.com/en-us/library/cc716714.aspx

EDIT: Тогда я думаю, это может помочь ...

http://msdn.microsoft.com/en-us/library/bb896269.aspx

Отказ от ответственности ... У меня нет опыта в попытках сравнить исходные и старые значения

Отслеживание изменений

Информация об отслеживании изменений для графа объектов хранится в объектах ObjectStateEntry, которые создаются ObjectContext для каждого присоединенного объекта. Объекты ObjectStateEntry хранят следующую информацию для сущностей:

-Ключ EntityKey, который определяет идентичность сущности.

-Статус сущности для объекта

-Информация о связанных объектах

-Имя набора сущностей

-Текущие значения и исходные значения свойств сущности (объекты в добавленном состоянии не имеют исходных значений)

-Имена измененных свойств объекта.

Чтобы узнать, изменилось ли значение свойства между вызовами SaveChanges, запросите> коллекцию измененных имен свойств, возвращенную методом GetModifiedProperties ...

2
ответ дан 2 September 2019 в 23:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: