Как изменить FlushMode по умолчанию для фиксации в C #?
Итак ... уже сказал это:
Как изменитьFlushMode
вCommit
в C #?
Я имею в виду, что в Fluent NHibernate FlushMode по умолчанию установлен как Авто.
Итак ... чтобы установить FluentMode всовершитьМне нужно открыть сессию и затем изменить ее:
var someSessionFactory = ... bla bla ..;
var session = someSessionFactory.OpenSession();
session.FlushMode = FlushMode.Commit;
Это будет работать, но ... это будет означать, что мне нужно вызвать метод, который содержитFlushMode.Commit
каждый раз я открываю сессию. Чтобы инициализировать sessionFactory, у меня есть несколько оболочек (предназначенных для установки только один раз, а затем автоматического использования при открытии нового контекста), что означает, что я не могу просто открывать сеанс напрямую каждый раз, когда захочу, не копаясь в фабричном типе и т. Д.
Есть ли способизменить по умолчанию FlushMode от авто до фиксации? Есть ли способ сделать это вvar sessionFactory = Fluently.Configure(). ...
?
РЕДАКТИРОВАТЬ:
Пробовал вторую вещь
public void Initialise(params Assembly[] mappingAssemblies)
{
this._sessionFactory = Fluently.Configure()
.Database(
MsSqlConfiguration.MsSql2008
.ConnectionString(this._connectionString)
.AdoNetBatchSize(10)
.QuerySubstitutions("true 1, false 0, yes 'Y', no 'N'"))
.Cache(c => c.Not.UseSecondLevelCache().Not.UseQueryCache())
.Mappings(m =>
{
foreach (Assembly asm in mappingAssemblies)
{
m.FluentMappings.AddFromAssembly(asm);
m.HbmMappings.AddFromAssembly(asm);
}
})
.ExposeConfiguration(ModifyConfiguration)
.BuildSessionFactory();
var session = _sessionFactory.OpenSession();
}
public void ModifyConfiguration(NHibernate.Cfg.Configuration configuration)
{
configuration.Properties["default_flush_mode"] = FlushMode.Commit.ToString();
}
я звонил_sessionFActory.OpenSession()
чтобы увидеть, изменился ли FlushMode и ... Нет. Тем не менее FlushMode имеет значение Auto, а не Commit.