¿Cómo cambiar el FlushMode predeterminado para confirmar en C #?
Entonces ... ya lo dije:
Como cambiarFlushMode
aCommit
Cía#?
Quiero decir, In Fluent NHibernate FlushMode por defecto está configurado como Auto.
Entonces ... para configurar FluentMode enCometer, Necesito abrir sesión y luego cambiarla:
var someSessionFactory = ... bla bla ..;
var session = someSessionFactory.OpenSession();
session.FlushMode = FlushMode.Commit;
Esto funcionará pero ... esto significará que necesito llamar al método que contieneFlushMode.Commit
cada vez que estoy abriendo sesión. Para inicializar sessionFactory, tengo varias envolturas (con la intención de configurarlo solo una vez y luego usarlo automáticamente cuando se abre un nuevo contexto), lo que significa que no puedo abrir la sesión directamente cada vez que quiero sin profundizar en el tipo de fábrica, etc.
¿Hay alguna manera decambiar por defecto FlushMode de Auto a Commit? ¿Hay alguna manera de hacerlo envar sessionFactory = Fluently.Configure(). ...
?
EDITAR:
Intenté la segunda cosa
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();
}
llame_sessionFActory.OpenSession()
para ver si FlushMode ha cambiado y ... No. Aún así, FlushMode es Auto, en lugar de Commit.