NHibernate, проблема с удалением
От: net_junior  
Дата: 04.04.12 13:46
Оценка:
Здравствуйте, возникла проблема с удалением данных. Вот код метода удаления:
public virtual void Delete(T item)
        {
            ISession session = sessionFactory.GetCurrentSession();
            ITransaction tr = session.BeginTransaction();
            session.Delete(item);
            //session.Flush();
            tr.Commit();
        }

Проблема в следующем: при вызове метода данные не удаляются. При этом не возникает никаких исключений.
Но если раскоментировать строку с session.Flush(), все работает как надо.
Для добавления данных использую такой метод:
public virtual T Save(T item)
        {
            ISession session = sessionFactory.GetCurrentSession();
            ITransaction tr = session.BeginTransaction();
            item = (T)session.SaveOrUpdateCopy(item);
            tr.Commit();
            return item;
        }

После tr.Commit() данные сохраняются в базу данных. Т.е как должно быть вызывался Session.Flush().
И, собственно, вопрос: почему в одном случае изменения сохраняются, а во втором нет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.