|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Я использую EF6 и подход DB-First. У меня есть 3 таблицы "Покупатель", "Товары" и связующая для обеспечения связи многие-ко-многим. Для покупателя студия сгенерировала такой класс, где есть коллекция товаров: Код: c# 1. 2. 3. 4. 5. 6.
Далее средствами EF я загружаю конкретного покупателя и удаляю один или несколько товаров, отменяю изменения и - как мне получить Products в первозданном виде? Упрощенная демонстрация последовательности действий: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Rollback не изобретал, взял отсюда. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 11:16 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Qwe.Qwe1, Покупатель - Товары не много ко много ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:07 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Верно, один покупатель - много товаров. Но вопрос про Rollback остается. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:11 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Qwe.Qwe1 Код: c# 1. 2.
уберите rollback и просто не сохраняйте контекст в базу. Коммита не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:13 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Так не получится. Упрощенно говоря, я выгрузил покупателя и его товары и вывел все это в Грид. Выбранный товар (или несколько) пользователь удалил (по кнопке): Код: sql 1.
Теперь он хочет отменить изменения и жмет кнопку "Отмена". На форме (WPF) все должно восстановиться. Загружать заново контекст, вроде как, не самая "чистая" идея, поэтому ищу варианты с Rollback. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:19 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Qwe.Qwe1и вывел все это в Гридвеб, десктоп? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:21 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Qwe.Qwe1Теперь он хочет отменить изменения и жмет кнопку "Отмена". На форме (WPF) все должновижу десктоп. Но тут две бизнес транзакции. Независимые. А вы делаете в одной. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:23 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Qwe.Qwe1Rollbackэто ДЛЯ ОШИБОК ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:24 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Qwe.Qwe1Теперь он хочет отменить изменения и жмет кнопку "Отмена".давайте из гугла любой пример ВИ или юз кейса. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:26 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Qwe.Qwe1не самая "чистая" идеяох уж эти программисты придумывающие сами себе задачу.) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:28 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
На форму я вывожу информацию о покупателе (несколько текстовых полей) и в Гриде - коллекцию связанных товаров. Для простых свойств объекта Покупатель предложенный Rollback работает! Осталось перезагрузить/загрузить коллекцию и все - Роллбэк средствами EF готов без повторного считывания объекта и т.п. Это возможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:40 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Qwe.Qwe1, Ты не понял что роллбэк для ошибок. Или тебе по барабану. Тогда так и скажи. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:48 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Не, не понял. Ну так а почему его нельзя использовать не только для ошибок, а просто? Поменял несколько значений, Отменил, продолжил работу... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:54 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Qwe.Qwe1Не, не понял. Ну так а почему его нельзя использовать не только для ошибок, а просто? Поменял несколько значений, Отменил, продолжил работу...потому что это для ручного режима. Не автоматического. Следовательно больше кода, больше ошибок и глюки при многопользовательской работе. ... У меня на f5 обновляется грид. А у тебя? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 13:29 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
В общем, какие мои действия при нажатии на кнопку "Отменить изменения"? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 13:34 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Qwe.Qwe1В общем, какие мои действия при нажатии на кнопку "Отменить изменения"? Аналогично F5 на форуме sql ru. Закрыть контекст как можно раньше без коммита и по новой открыть. Кнопу заменить на Отмена. Имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 14:13 |
|
Entity Framework отмена изменений и навигационное свойство
|
|||
---|---|---|---|
#18+
Qwe.Qwe1, Такая отмена есть у таблы девЭкспресс без ef. Он ставит номерные точки транзакции в базе. Потом роллбэк точка1 и т.д. И ты на Ctrl '+ C нажав 3 раза откатываешь 3 действия. ... Забей. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 14:27 |
|
|
start [/forum/topic.php?fid=17&fpage=4&tid=1349134]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 239ms |
total: | 368ms |
0 / 0 |