isessionfactory fluently descargar fluent-nhibernate

fluent-nhibernate - fluently - nhibernate documentation



Fluido NHibernate mapeo unidireccional de uno a muchos (1)

NHibernate no admite esta asignación cuando tiene una restricción no nula en su clave externa. Si elimina esa restricción, verá que NHibernate inserta los Comentarios con un PostId nulo, y luego los actualiza con el ID de la nueva Publicación.

Usted necesita:

  1. Elimina la restricción no nula y la llamada Inverse
  2. Mantenga la restricción y trace el otro lado de la relación (haciendo de esto una relación bidireccional, y permitiendo que Inverse funcione correctamente)

Esto está cubierto en la documentación de NHibernate para uno a muchos , consulte la Nota muy importante al final.

Tengo clases de Publicar y Comentar, y tienen una relación de uno a muchos, donde Publicar tiene una lista de Comentarios. ¿Cómo puedo mapear esto como una relación unidireccional con Fluent NHibernate, ya que un comentario no necesita conocer su Publicador principal? Actualmente, esta es mi asignación para Comentario:

Id(x => x.Id); Map(x => x.Body); References(x => x.User);

y para publicación:

Id(x => x.Id); Map(x => x.Title); HasMany(x => x.Comments) .Inverse() .WithKeyColumn("PostId") .Cascade.AllDeleteOrphan();

Esto no funciona porque cuando trato de guardar una instancia de Post con un Comentario recién agregado, la clave externa en Comment (PostId) se deja NULL. Y, por supuesto, un comentario no se puede guardar con un NULL PostId. Intenté eliminar la cláusula .Inverse (), pero eso tampoco funciona.