Fluido NHibernate uno a muchos mapeo

Tengo las siguientes 2 clases:

Anuncio

public virtual int Id { get; set;
public virtual IList<AdvertImage> AdvertImages { get; set; }

Imagen de anuncio

public virtual int Id { get; set; }
public virtual string Filename { get; set;
public virtual Advert Advert { get; set; }

En la base de datos, mi tabla AdvertImages tiene el FK 'AdvertId' que se relaciona con la tabla de anuncios que tiene la PK de 'Id'.

Este es un mapeo de uno a varios, en el que un anuncio puede tener muchas imágenes.

Mis asignaciones de Fluido NHibernate (editadas para abreviar) son:

Mapa de Publicidad

Id(x => x.Id)
  .GeneratedBy.Identity();
...
HasMany(x => x.AdvertImages)
  .KeyColumn("AdvertId")
  .Inverse();
...
Table("Adverts");

AdvertImageMap

Id(x => x.Id)
  .GeneratedBy.Identity();
...
References(x => x.Advert)
  .Column("AdvertId");
...
Table("AdvertImages");

Estoy creando una nueva instancia deAdvert en código, a continuación, rellenando elAdvertImages propiedad (de anuncio) con unList<AdvertImage>.

Cuando voy a persistir miAdvert objeto al DB, me gustaría que las AdvertImages se inserten en su tabla AdvertImages, pero debido a la relación entre las 2 tablas, necesito que la inserción del Advert se realice primero, para que se genere el Id. PK, que luego se puede insertar en la tabla AdvertImages. (Cuando creo mi lista de AdvertImage, estoy llenando la propiedad de Nombre de archivo, pero obviamente no tengo el nuevo AdvertId en esa etapa, así que quiero que se llene cuando el anuncio se mantenga en la base de datos).

He intentado experimentar con diferentes configuraciones de Inversa () y Cascada pero todavía no he tenido éxito. ¿Alguien puede ayudar por favor?

Respuestas a la pregunta(3)

Su respuesta a la pregunta