Это - одна вещь (я мог помнить), что я упал в то, когда я был в моем Быть в спящем режиме дни. То, когда Вы удалите (несколько) дочерние объекты из набора (в родительском объекте) и затем добавляете новые объекты к тому же набору в одной транзакции, не сбрасывая в середине, В спящем режиме, сделает, "вставляют", прежде "удаляют". Если бы дочерняя таблица имеет ограничение на уникальность данных в одном из его столбцов, и Вы ожидаете, что не нарушили бы его, так как Вы уже удалили некоторые данные прежде (точно так же, как я был), то подготовьтесь быть расстроенными. Будьте в спящем режиме форум предлагает:
я не мог сделать обоих и закончить тем, что настроил Быть в спящем режиме источник и перекомпилировал. Это была только 1 строка кода. Но усилие найти, что одна строка была равна приблизительно 27 чашкам кофе и 3 бессонных ночи.
Это - всего один пример проблем и причуд, Вы могли бы закончить, когда использование В спящем режиме без настоящего эксперта по Вашей команде (эксперт: кто-то с соответствующим знанием о философии и внутренней работе В спящем режиме). Ваша проблема, решение, литр кофе и бессонное ночное количество могут варьироваться. Но Вы получаете идею.
Вы можете подписаться к событию SystemEvents.PowerModeChanged .
SystemEvents.PowerModeChanged += OnPowerChange;
void OnPowerChange(Object sender, PowerModeChangedEventArgs e) {
switch ( e.Mode ) {
case PowerModes.Resume:
...
case PowerModes.Suspend:
...
}
}