Fabio ósea no hace falta que el discriminador sea una clave primaria?
Te pregunto porque los mapeos y las tablas las diseñe con el ObjectMapper
2005 y me pone tanto el EntidadId y el EntidadTipo(Discriminador) como
claves primarias.

-----Mensaje original-----
De: [email protected]
[mailto:[EMAIL PROTECTED] En nombre de Fabio Maulo
Enviado el: Jueves, 04 de Enero de 2007 08:09 a.m.
Para: [email protected]
Asunto: [NHibernate-Hispano] Re: Herencia


No necesitas la columna EntidadId_EntidadTipo porque le Id de Entidad NO es un Id compuesto. Pensalo un poco... pusiste un Id que identifica una y una sola fila de la tabla "Entidad"; para que necesitas otro campo?

Chau.
Fabio.

SebaCabrera escribió:

2_ Mapeos

Entidad

-------

<?xml version="1.0" encoding="utf-8" ?>

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" schema="dbo">

<class name="EkoGroup.Herencia.NE.NE_Entidad, EkoGroup.Herencia.NE" table="Entidad" discriminator-value="Entidad">

<id name="EntidadId" type="Int32" column="EntidadId">

<generator class="identity" />

</id>

<discriminator column="EntidadTipo" type="String" />

<property name="Nombre" column="Nombre" type="String" />

<bag name="Emails" inverse="true" cascade="all">

<key>

<column name="EntidadId_EntidadId" />

<column name="EntidadId_EntidadTipo" />

</key>

<one-to-many class="EkoGroup.Herencia.NE.NE_Email, EkoGroup.Herencia.NE" />

</bag>

</class>

</hibernate-mapping>

Email

-----

<?xml version="1.0" encoding="utf-8" ?>

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" schema="dbo">

<class name="EkoGroup.Herencia.NE.NE_Email, EkoGroup.Herencia.NE" table="Email">

<id name="EmailId" type="Int32" column="EmailId">

<generator class="identity" />

</id>

<property name="Email" column="Email" type="String" />

<many-to-one name="Entidad" class="EkoGroup.Herencia.NE.NE_Entidad, EkoGroup.Herencia.NE">

<column name="EntidadId_EntidadId" />

<column name="EntidadId_EntidadTipo" />

</many-to-one>

</class>

</hibernate-mapping>

4_ Error

+ Linea de comando donde se produce el error: _FabricaSesion = _Configuracion.BuildSessionFactory();

+ Mensaje de Error: "Foreign key in table Email must have same number of columns as referenced primary key in table Entidad”.

Quisiera saber como puedo solucionar esta problema ya que es probado todo y no me anda.





--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.410 / Virus Database: 268.16.5/616 - Release Date: 04/01/2007



--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups-beta.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Responder a