Gente,
Mil gracias pero ya logre resolver. Me quede mirando fijamente el
encabezado de le Exception:
EXCEPTION
===================================================================
NHibernate.WrongClassException was unhandled
Message=Object with id: 8a7a98b0-ba4d-4cee-99bc-8c4c8a1665f0 was not
of the specified subclass: MyProject.Model.Entities.ElectronicAddress
(Discriminator was: 'WB ')
Source=NHibernate
EntityName=MyProject.Model.Entities.ElectronicAddress
...
===================================================================
Y era demasiado obvio. Me estaba diciendo que estaba intentado
instanciar un objeto ElectronicAddress y dado que este es la clase
base, no encontraba referencia con el discriminador que estaba
obteniendo de la DB. Esto definido así en el Mapping:
MAPPING: ElectronicAddress.hbm.xml
===================================================================
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping namespace="MyProject.Model.Entities"
assembly="MyProject.Model" xmlns="urn:nhibernate-mapping-2.2">
<class name="ElectronicAddress" table="ElectronicAddress"
schema="dbo">
...
===================================================================
Como verán, en el Mapping no se ha definido un discriminador para la
clase base, lo cual, en otras circunstancias; es factible hacerlo.
Y el Mapping de Customer:
MAPPING: Customer.hbm.xml
===================================================================
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping namespace="MyProject.Model.Entities"
assembly="MyProject.Model" xmlns="urn:nhibernate-mapping-2.2">
<class name="Customer" table="Customer" schema="dbo">
...
<set name="WebSites" inverse="true">
<key column="`Customer_Id`" />
<one-to-many class="ElectronicAddress" /> <-- ACA ESTABA EL
ERROR
</set>
===================================================================
En este mapping le digo que la asociación se da con la clase base
ElectronicAddress y no con alguna de las cases derivadas, en este caso
WebSite.
Haciendo la modificación correspondiente... logre resolver este
problema.
NHibernate: SELECT websites0_.[Customer_Id] as Customer7_1_,
websites0_.Id as Id1_,websites0_.Id as Id12_0_, websites0_.Person_Id
as Person3_12_0_, websites0_.Description as Descript4_12_0_,
websites0_.IsPrimaryResource as IsPrimar5_12_0_, websites0_.Name as
Name12_0_ FROM dbo.ElectronicAddress websites0_ WHERE websites0_.
[Customer_Id]=@p0;@p0 = 74ec3d65-03e1-49c3-8e5a-d27514a3d57d [Type:
Guid (0)]
Espero que esto ayude por si alguien se topa con el mismo error.
Saludos,
--
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano