FlushMode объекта ISession - FlushMode.Commit.
Я использую шаблон единицы работы и репозитория, как здесь определено: http://nhforge.org/wikis/patternsandpractices/nhibernate-and-the-unit-of-work-pattern.aspx
Я помню, как видел некоторые примеры, когда некоторые люди называютЗа Get () сразу следует Flush или фиксация транзакции.Мы просто не в курсе, или есть причина для этого?
Из моего теста:
[TestMethod]
public void TestMethod1()
{
Employee e;
IRepository<Employee> empRepo;
using(UnitOfWork.Start(Enums.Databases.MyDatabase))
{
empRepo = new Repository<Employee>();
e = empRepo.GetByID(21);
}
Debug.WriteLine(e.UserName);
}
Моя функция репозитория GetByID просто вызывает Session.Get (id) иЯ могу просмотреть имя пользователя в окне вывода (после того, как сессия прервана) ... так какой смысл какой-либо тип Flush или транзакции после Get ()?Я бы понял, если бы где-нибудь был спасбросок.