¿Es posible asignar una clave compuesta en nhibernate fluido donde la mitad de la clave es un campo de identidad en la base de datos?

StackOverflow https://stackoverflow.com/questions/1615647

Pregunta

Como indica la pregunta, ¿es posible asignar una clave compuesta en nhibernado fluido (o supongo que no es fluido) donde uno de los dos campos utilizados en el compuesto es un campo de identidad?

Tengo una tabla donde una parte de la clave principal es un campo de identidad y la otra es una identificación del inquilino. Esta es una base de datos heredada en la que la clave compuesta se usa como una clave externa en todo momento, por lo que la modificación de la base de datos sería bastante importante.

gracias!

¿Fue útil?

Solución

Si realmente es una columna de identidad, entonces se garantiza que será único para cada registro, ¿no?

Si es así, puede ignorar completamente la ID de tenencia para propósitos de mapeo. Sus campos de identidad serán únicos en su tabla principal, y sus referencias de clave externa contendrán esta identificación única, por lo que la identificación de tenencia es realmente irrelevante.

A NHibernate realmente no le importa si está asignando exactamente el esquema de su base de datos. He trabajado con bases de datos heredadas antes donde definí una restricción única en una columna sin clave y luego le dije a NHibernate que la usara como la clave principal: funciona y puede eludir claramente todo tipo de relaciones horrendas de clave compuesta mapeos.

Piénsalo. Contra-intuitivo, pero probablemente funcionará.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top