/ / NHibernate en una biblioteca de clases? - inhibir

NHibernate en una biblioteca de clase? - inhibir

Tengo una solución web de Visual Studio 2010 MVC 3 que contiene varios proyectos. Uno de estos proyectos es mi sitio, otro maneja el acceso a los datos.

Estoy usando NHibernate para acceder a mi base de datos y he colocado todos mis archivos de mapeo, nhibernate.config y NH DLL dentro del proyecto de acceso a datos.

Tengo suficiente idea de cómo usar NHibernate, pero solo lo he usado en pequeños proyectos de prueba individuales, nunca en una solución con múltiples proyectos

Quiero hacer referencia al nhibernate.config en mi sitio web.config - ¿puedo hacer eso? Si no, ¿qué debo hacer? ¿Poner todas las DLL de NH en la carpeta bin de mi sitio y pegar la configuración de NH directamente en mi DLL?

Totalmente perdido - toda la ayuda apreciada!

Respuestas

1 para la respuesta № 1

Pondría nhibernate.config en su proyecto web y su capa de acceso a datos crearía una fábrica de sesiones como esta:

private ISessionFactory CreateSessionFactory()
{
Configuration cfg;
cfg = new Configuration().Configure(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "nhibernate.config"));
return (cfg.BuildSessionFactory());
}

Siempre busque nhibernate.config en un directorio base, para que pueda hacer referencia a su DAL en otros proyectos.