Hola a todos,

al final he conseguido solucionarlo, así que me gustaría compartirlo con
vosotros, aquí os dejo el mapeo que he hecho:

La clase dónde están las propiedades WeekScheduling y ExceptionScheduling se
llama Routing Scheduler

1. private IDictionary<DayOfWeek, DayScheduler> WeekScheduling = new
IDictionary<DayOfWeek, DayScheduler>

public virtual IDictionary<DayOfWeek, DayScheduler> WeekScheduling
{
 get {return weekScheduling;}
}

DayOfWeek es un enum: public enum DayOfWeek {Lunes, Martes,Miércoles,Jueves,
Viernes,Sábado, Domingo}
DayScheduler es una clase c# normal

*    <map name ="WeekScheduling" table ="RoutingWeekScheduling"
access="nosetter.camelcase">*
*      <key column ="RoutingSchedulerId"/>*
*      <index column ="DayW" type="DayOfWeek"/>*
*      <one-to-many class ="DayScheduler"/>*
*    </map>*

2. private IDictionary <DateTime, RoutingStatus> ExceptionScheduling =
new IDictionary<DateTime,RoutingStatus>

public virtual IDictionary<DateTime, RoutingStatus> WeekScheduling
{
 get {return weekScheduling;}
}

RoutingStatus es un enum: public enum RoutingStatus {Abierto, Cerrado}

*    <map name ="ExceptionScheduling" table ="RoutingExceptionScheduling"
access="nosetter.camelcase">*
*      <key column ="RoutingSchedulerId"/>*
*      <index column="Date" type="System.DateTime"/>*
*      <element column="RoutingStatus" type ="RoutingStatus"
not-null="true"/>*
*    </map>*


Un saludo,
lentregu_gfr


El 15 de febrero de 2010 20:23, lentregu_gfr <[email protected]> escribió:

> Hola a todos,
>
> soy nuevo en esto y me está costando bastante realizar el mapeo de
> ciertas clases de C# con NHibernate. Concretamente no se como modelar
> dos casos que tengo de IDictionary
>
> 1. private IDictionary<DayOfWeek, DayScheduler> WeekScheduling = new
> IDictionary<DayOfWeek, DayScheduler>
>
> public virtual IDictionary<DayOfWeek, DayScheduler> WeekScheduling
> {
>  get {return weekScheduling;}
> }
>
> DayOfWeek es un enum: public enum DayOfWeek {Lunes, Martes,
> Miércoles,Jueves, Viernes,Sábado, Domingo}
>
> DayScheduler es una clase c# normal
>
> 2. private IDictionary <DateTime, RoutingStatus> ExceptionScheduling =
> new IDictionary<DateTime,RoutingStatus>
>
> public virtual IDictionary<DateTime, RoutingStatus> WeekScheduling
> {
>  get {return weekScheduling;}
> }
>
> RoutingStatus es un enum: public enum RoutingStatus {Abierto, Cerrado}
>
> Aunque parezcan iguales no lo son, en el primero de ellos tenemos que
> la clave es un enum y el valor es una clase, y en el segundo caso al
> contrario.
>
> Podéis ayudarme por favor.
>
> Gracias por adelantado,
> lentregu_gfr
>

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