Ради аргумента предположим, что у меня есть веб-форма, которая позволяет пользователю редактировать детали заказа.Пользователь может выполнять следующие функции:
- Изменить детали доставки / оплаты (все простые тексты / выпадающие списки)
- Добавить / удалить / редактировать товары в заказе - это делается с помощью сетки
- Добавить / удалить вложения
Продукты и вложения хранятся в отдельных таблицах БД с внешним ключом для заказа.
Entity Framework (4.0) используется в качестве ORM.
Я хочу разрешить пользователям вносить любые изменения в порядок, которые они хотят, и только когда они нажимают «Сохранить», я хочу зафиксировать изменения в базе данных.Это не проблема с текстовыми полями / флажками и т. Д., Так как я могу просто положиться на ViewState, чтобы получить необходимую информацию.Однако сетка представляет для меня гораздо большую проблему, так как я не могу найти хороший и простой способ сохранить изменения, сделанные пользователем, без фиксации изменений в базе данных.Сохранение дерева объектов Order в Session / ViewState - это не совсем та опция, с которой я бы хотел пойти, поскольку объекты могут стать очень большими.
Так что вопрос в том, как мне сохранить изменения, внесенные пользователем.сделано до готовности к «Сохранить».
Быстрое примечание - я искал SO, чтобы попытаться найти решение, однако все, что я нашел, было предложениями использовать Session и / или ViewState - оба из которых я хотел быскорее не использовать из-за потенциального размера деревьев моих объектов