В проекте, над которым я работаю, мы разрабатываем функциональность Save-As для настольного приложения Windows. Это должно позволить пользователю сохранить свою работу (в проекте) в другом месте (просто SaveAs;).
Файл нашего проекта содержит базу данных sqlite с объектами нашего домена, а постоянство выполняется с помощью NHibernate. Теперь наша логика SaveAs выглядит примерно так:
- Скопируйте текущий файл проекта (дБ) в целевое местоположение.
- Откройте новый сеанс nhibernate (Session2) в целевом местоположении.
- Отключить текущий сеанс (Session1)
- Reconnect () Session1 к соединению нового сеанса (используя Session.Reconnect ()) NHibernate *
- Открыть новое соединение
Это кажется мне немного сложным, хотя я не нашел лучшего способа. Итак, мои вопросы:
Как реализовать SaveAs для открытого сеанса в Nhibernate?