Hola buenas tardes:

Estoy empezando a usar Nhibernate, y tengo un problema.

Tengo usuarios que pueden tener uno o mas roles, para solucionarlo a nivel 
base de datos agregue una tercera tabla UsuarioRol, teniendo 3 tablas 
(Usuarios, UsuarioRol y CatUsuarioRol), de manera que quiero relaccionar de 
muchos a muchos las tablas  Usuario - CatUsuariol

La Tabla Usuarios_rols, solo tendria los campos (usuario-id y rol_id)

Usuarios_rols   
    usuario_id(pk)
    rol_id(pk)


Usuarios
    usuario_id(pk)
    otros campos 

Cat_Usuario_rol
    rol_id(pk)
    otros campos 


Este es mi usuario.hbm.xml 

<?xml version="1.0"?>
> <hibernate-mapping assembly="castor" namespace="castor.core" 
> xmlns="urn:nhibernate-mapping-2.2">
>   <class name="Usuario" table="usuario" lazy="false" >
>   
>   <id name="UsuarioId">
>       <column name="usuario_id" sql-type="integer" not-null="true" />
>       <generator class="identity">
>           <param name="sequence">usuario_usuario_id_seq</param>
>       </generator>
>     </id>
>    <bag name="CatUsuarioRols" table="usuario_rol" lazy="false" 
> inverse="true" >
>       <key column="usuario_id" />
>          <many-to-many class="CatUsuarioRol" column="rol_id" />
>     </bag>
>
> <property name="Username">
>       <column name="username" sql-type="character varying" not-null="true" 
> />
>     </property>
>
> (...) Otros atributos
>
>     
>   </class>
> </hibernate-mapping>
>

En mi CatUsuarioRol.hbm.xml
Solo tengo el id, y los property de la tabla, ya que lei que al tener 
activada laa propiedad inverse="true" en la relaccion many to many no es 
necesaria colocarla en el otro mapping

Si hago una consulta a la base de datos puedo ver que esta la relacción y 
muestra los usuarios con sus respectivos roles, que agregue manualmente en 
la base de datos

No existe el UsuarioRol.hbm.xml ni la entidad UsuarioRol, ¿Debo de 
generarlos?

Cuando agrego un usuario, el codigo que utilizo es el siguiente 
 

> Usuario nueva = new Usuario()
>             {
>               Username = Request.Form["username"], 
>               Activo = true,

              FechaMod =  DateTime.Now,
>              (...) Otros atributos
>             
>             };
>

Mi pregunta como puedo hacer para que se guarden los roles.

Saludos! 

-- 
-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
--- 
Has recibido este mensaje porque estás suscrito al grupo "NHibernate-Hispano" 
de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos 
electrónicos, envía un correo electrónico a 
[email protected].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.


Responder a