Tengo un objeto de entidad llamado Patient
y esta entidad tiene una propiedad llamada Visits
que es del tipo VisitsCollection
.NHibernate colección personalizada tipo
VisitsCollections
es una clase hija de IList<Visit>
pero también agrega algo de lógica personalizada a la colección (como auto ordenamiento, algunas validaciones, notificaciones, etc.).
I necesita para usar el tipo de colección personalizada, ya que agrega algunos datos a las entidades que se agregan a la colección y realiza algunos otros trámites de forma transparente.
Ahora quiero que mapear en NHibernate, por lo que he creado:
<list name="Visits" lazy="true" fetch="select">
<key foreign-key="PatientId" />
<index column="Timestamp" />
<one-to-many class="Visit" not-found="ignore"/>
</list>
me estoy haciendo una excepción:
No se puede convertir objeto de tipo 'NHibernate.Collection. PersistentList 'para escribir' ... VisitsCollection '
Siempre que acceda a la propiedad de visitas.
También he intentado hacer un mapa de esta manera:
<list name="Visits" lazy="true" fetch="select" collection-type="VisitsCollection">
<key foreign-key="PatientId" />
<index column="Timestamp" />
<one-to-many class="Visit" not-found="ignore"/>
</list>
pero aún así, estoy recibiendo esta excepción:
tipo personalizado no implementa UserCollectionType: ..... VisitsCollection
no quiero heredar mi VisitsCollection
de cualquier tipo NHibernate como la clase de colección es parte de un marco que yo quiero que sea DAL-Agnos tic (como se usará en muchos escenarios, no solo con una base de datos).
¿Alguna idea sobre cómo mapear esto, preservando la estructura de mi código?
Gracias de antemano.