2009-01-25 10 views
7

¿Alguien sabe por qué NHibernate genera un campo llamado 'elt' de tipo int para un mapeo muchos a muchos? Me pregunto por qué lo necesito. GraciasNHibernate elt campo

Respuesta

11

El campo "elt" es la clave externa del elemento en la asignación de muchos a muchos. En la tabla de unión, debería ver dos columnas de clave externa, id (para el padre) y elt (para el elemento). Puede usar diferentes nombres si lo desea; estos son predeterminados.

4

Gracias, sí, usted está en lo cierto con un poco más de reproducción. Encontré que si yo no nombraba explícitamente la columna por defecto, elt.

<bag name="equipment" table="tb_room_equipment" lazy="false"> 
    <key column="roomID"/> 
    <many-to-many class="Equipment" column="equipmentID"/> 
</bag> 

Al igual que aquí, ahora he nombrado la columna equipmentID; Si no lo hago, se llamará elt.

2

Hace poco descubrió que se crea el campoelt si ha utilizado una palabra clavecomo usuario o papel cuando se utiliza el mapeo por el código. Esto es solo una observación, no he intentado usar `(retroceso) para forzar las cotizaciones