2012-02-02 9 views
6

Tengo que usar una consulta HQL en mi proyecto y tengo un error: "entidad no está mapeada".¿Cómo se permiten las importaciones automáticas = "verdadero" cuando usamos el mapeo de Nhibernate 3.2 por código?

Cuando leo nHibernate HQL - entity is not mapped o nHibernate HQL - entity is not mapped (u otro sitio web) puedo leer que tengo que usar auto-import = "true" en cada clase.

<hibernate-mapping 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
namespace="BusinessObjets" assembly="BusinessObjects" 
xmlns="urn:nhibernate-mapping-2.2" auto-import="true"> ... 

¿Cómo podemos configurar este auto import cuando usamos el mapeo por código con nhibernate 3.2?

uso ese código para cargar el mapeo:

var mapper = new ModelMapper(); 
mapper.AddMappings(typeof(Repository).Assembly.GetTypes()); 
return mapper.CompileMappingForAllExplicitlyAddedEntities(); 

Saludos

Respuesta

7

No se puede establecer que en la cartografía por código directamente, pero se puede modificar HbmMapping objeto devuelto por CompileMappingForAllExplicitlyAddedEntities método, antes de pasarlo al objeto Configuration:

mapping.autoimport = true; 
+1

gracias. es difícil encontrar todas las cosas con el mapeo por código –

+0

Me ahorró una hora de búsqueda a través del código NHibernate - ¡gracias! – Dav

Cuestiones relacionadas