У меня есть приложение EF Core, которое использует Entity Framework в качестве ORM. Я нахожусь в процессе разработки системы, в которой есть особенность, в которой мне нужно добавить объект, не сохраняя его в базе данных сразу. Эта функция включает в себя следующие «сценарии использования»
- Пользователь добавляет новый элемент (система должна добавить элемент и связанные с ним объекты без выполнения
_context.SaveChanges();
) - Пользователь перенаправляется на новое место, где он может редактировать и сохранять элемент (фактическое сохранение в базе данных происходит при сохранении элемента)
- Пользователь удаляет элемент или щелкает по странице (ничего не должно сохраняться в базе данных)
Мне было интересно, есть ли способ, которым я мог бы достичь вышеупомянутого. Более конкретно, я ищу способ сохранить уникальные объекты в моем контексте, не делая _context.SaveChanges();
сразу.
Я хочу сделать это таким образом, чтобы я мог легко сохранить его в базе данных, как только пользователь решит сохранить свои изменения.
На мой взгляд, неоднозначным решением было бы просто добавить элемент, однако это вызовет проблемы, если пользователь просто уйдет со страницы редактирования. (Я мог бы в конечном итоге получить массу сущностей, которые на самом деле ничего не содержат)
Очевидным выбором будет просто добавить сущность после нажатия кнопки сохранения - однако это не сработает контекст.
Следовательно:
- Есть ли способ, с помощью которого я могу создавать уникальные объекты базы данных в моем контексте, которые я могу редактировать, не сохраняя их в базу данных сразу.
Я читал о последовательностях в ядре EF, и это может быть путь к go?