2009-11-17 8 views
10

Tengo mi configuración de NHibernate correctamente configurada en mi archivo web.config. Sin embargo, también estoy usando la membresía de ASP.NET, que requiere que se defina una conexión en el elemento connectionStrings. ¿Hay alguna manera de que pueda hacer que mi configuración de NHibernate use este valor para que no tenga que definir la cadena de conexión dos veces?NHibernate Configuración en web.config - use connectionstring existente

Respuesta

16

Puede usar el elemento connection.connection_string_name en la configuración de NHibernate. Eche un vistazo here. Entonces NHibernate obtendrá cadena de conexión por el nombre del archivo web.config

Es necesario utilizar el atributo connection.connection_string_name en la configuración:

<connectionStrings> 
    <add name="default" connectionString="server=(local);etc." /> 
</connectionStrings> 

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> 
    <session-factory> 
     <property name="connection.connection_string_name">default</property> 
    </session-factory> 
</hibernate-configuration> 

Con la configuración fluidez se puede hacer lo siguiente

ConnectionString(c=>c.FromConnectionStringWithKey("YourConnStrName")) 

Con la API de configuración de NHibernate puede hacer lo siguiente:

var cfg = new Configuration(); 
cfg.DataBaseIntegration(db => 
{ 
    db.ConnectionStringName = "default";    
}); 
+0

perfecto ... Gracias !! –

+0

Me gustaría que citara la solución para darme pistas ya que la página ya no se encuentra :( –

+0

http://community.devpinoy.org/blogs/bonskijr/archive/2007/04/08/using-connectionstring-section-in -nhibernate.aspx – Sly

1

sólo para añadir a Sly de respuesta, puede hacerlo utilizando FluentNHibernate como esto (en la configuración del fluido):

.ConnectionString(c=>c.FromConnectionStringWithKey("con_development")) 
Cuestiones relacionadas