我似乎在这里错过了一些东西:
我有一个应用程序,它使用每个应用程序方法的会话并使用延迟加载。
我已经设置了会话 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;
}