Кажется, я кое-что упустил:
У меня есть приложение, которое использует сеанс для каждого метода приложения и использует ленивую загрузку.
Я установил сеанс FlushMode.Commit, и кажется, что NHibernate по-прежнему автоматически сохраняет мои грязные объекты в БД (SQLCe), хотя я никогда не начинаю транзакцию и не фиксирую ее.
может кто-нибудь сказать мне, что я делаю не так?
часть моего кода:
public Repository(ISessionProvider sessionProvider)
{
_sessionProvider = sessionProvider;
_session = _sessionProvider.OpenSession();
_session.FlushMode = FlushMode.Commit;
}
public IList<T> GetAll<T>() where T : class
{
var criteria = _session.CreateCriteria<T>();
var list = criteria.List<T>();
return list;
}
FlushMode.Never
, если вам не нужно такое поведение. - person Andreas   schedule 13.05.2012