Hola quisiera saber si alguien pudiera decirme porque no me funciona la
siguiente estructura



1_ Tablas:



           Entidad

           -------

           PK EntidadId   [int, Autoincremental].

           PK EntidadTipo [Varchar(50), Discriminador].

              Nombre      [varchar(50)]

           Email

           -----

           PK EmailId     [int, Autoincremental].

              Email       [varchar(255)].

           FK EntidadId   [Relacion entre Email y Entidad].

           FK EntidadTipo [Relacion entre Email y Entidad].



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>



3_ Clases



           Entidad

           -------

       public class NE_Entidad

       {

           private System.Int32 _EntidadId;

           private System.String _Nombre;

           private System.Collections.IList _Emails;



           public virtual System.Int32 EntidadId

           {

               get{return _EntidadId;}

               set{_EntidadId = value;}

           }



           public virtual System.String Nombre

           {

               get{return _Nombre;}

               set{_Nombre = value;}

           }



           public virtual System.Collections.IList Emails

           {

               get{return _Emails;}

               set{_Emails = value;}

           }

       }



           Email

           -----

       public class NE_Email

       {



           private System.Int32 _EmailId;

           private System.String _Email;

           private NE_Entidad _Entidad;



           public virtual System.Int32 EmailId

           {

               get{return _EmailId;}

               set{_EmailId = value;}

           }



           public virtual System.String Email

           {

               get{return _Email;}

               set{_Email = value;}

           }



           public virtual NE_Entidad Entidad

           {

               get{return _Entidad;}

               set{_Entidad = value;}

           }

       }



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.



desde ya gracias.
















--~--~---------~--~----~------------~-------~--~----~
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