Um si bien entiendo quieres a nivel de mapping asegurarte de que los
nombres de equipo y campeonato sean unicos ?   Si es asi, es algo que debes
manejarlo en tu logica pues la BD se utiliza solo como un repositorio en
donde almacenas un estado consistente de tus entidades.  Si un equipo se
persiste es porque ya cumplio con la regla de tener un nombre unico, igual
para el campeonato.

Saludos,
Nestor Rodriguez

2012/3/22 Gonzalo del Castillo <[email protected]>

> Buenas tardes gente, me llamo Gonzalo y soy nuevo en el grupo. Estoy
> incursionando en los ORM, y me decidi por aprender NHibernate.
> En particular los molesto por un problema que tengo, estoy tratando de
> realizar el mapping de dos clases : Equipo y Campeonato.
> La idea es que desde Campeonato tenga un ISet de Equipos, sin tener que
> definir la vuelta (un ISet de Campeonatos).
> Si bien pude definir los mapeos, no se como definir la restricción que el
> nombre del equipo y el campeonato son unicos, al menos no sin caer en una
> relación bi-direccional.
>
> Desde ya muchas gracias por su tiempo.
>
> Saludos,
>
> Gonzalo.
>
>     public class Equipo : DomainEntity
>     {
>      ....
>         public virtual string Nombre { get; protected set; }
>     }
>
>
> public class Campeonato: DomainEntity
>     {
>      ....
>         public virtual string Nombre { get; protected set; }
>
>         public virtual Iesi.Collections.Generic.ISet<Equipo> Equipos {
> get; set; }
>     }
>
> Y los hbm.xml que hice :
>
> <?xml version="1.0" encoding="utf-8" ?>
> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
>     assembly="..."   namespace="...">
>   <class name="Campeonato">
>     <id name="Id">
>       <generator class="guid.comb" />
>     </id>
>     <natural-id mutable="true">
>       <property name="Nombre" not-null="true" />
>     </natural-id>
>
>     <version name="Version" />
>
>     <set name="Equipos" cascade="all-delete-orphan" inverse="true">
>       <key column="CampeonatoId"/>
>       <one-to-many class="Equipo"/>
>     </set>
> </hibernate-mapping>
>
> <?xml version="1.0" encoding="utf-8" ?>
> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
>     assembly="..."    namespace="...">
>   <class name="Equipo">
>     <id name="Id">
>       <generator class="guid.comb" />
>     </id>
>     <version name="Version" />
>     <property name="Nombre" not-null="true"/>
>   </class>
> </hibernate-mapping>
>
>  --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano

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

Responder a