Pregunta

Para una (muy) largo tiempo que he estado buscando para ver un ejemplo sobre cómo aplicar correctamente un uno-a-uno mapeo con Fluido NHibernate.

La mayoría de los recursos que encuentro dicen:

  

Creo que significa una relación muchos-a-uno

Sin embargo en realidad nadie da un ejemplo sobre cómo aplicar correctamente la relación uno-a-uno.

Por lo tanto, podría dar un ejemplo de mapeo uno a uno con Fluido NHibernate

Nota: No estoy interesado en la gente diciendo "¿cuál es su modelo, que en realidad podría necesitar hasMany ". No, gracias, simplemente necesito un uno-a-uno ejemplo.

Para ser más precisos, Yo sé la sintaxis . Eso es lo único que pude encontrar buscando por mí mismo. Lo que estoy buscando es un ejemplo más completo, incluyendo una configuración ((muy) simples) de base de datos, y todo el mapeo, de todas las entidades que participan en la relación, que creo que tendría un tamaño razonable para el desbordamiento de pila.

¿Fue útil?

Solución

he resuelto mi problema.

También he escrito un artículo un tanto detallada sobre este problema, que se puede encontrar en: http://brunoreis.com/tech/fluent-nhibernate-hasone-how-implement-one-to-one-relationship/index.html

Se encuentra un escenario en el que queremos una relación uno-a-uno, el esquema de base de datos a medida que le gustaría, el código del modelo, ya que tiene que ser para satisfacer las necesidades de NHibernate, y el Fluido de asignación que corresponde a la situación.

Otros consejos

these are the two classes.

public class A
{
  public virtual int Id {get;set;}
  public virtual string P1 {get;set;}
  public virtual string P2 {get;set;}
  public virtual string P3 {get;set;}
  public virtual B child { get; set; }
}

public class B
{
  public virtual int Id {get;set;}
  public virtual string P4 {get;set;}
  public virtual string P5 {get;set;}
  public virtual string P6 {get;set;}
  public virtual A parent;
}     

esto hay que añadir en la configuración con fluidez.

public AMap()
    {
      /* mapping for id and properties here */
      HasOne(x => x.child)
          .Cascade.All();
    }

    public BMap()
    {
      /* mapping for id and properties here */
      References(x => x.parent)
          .Unique();
    }

Este es el mejor ejemplo que he visto. Es de esperar que se adapte a sus necesidades.

HasOne(x => x.Prop)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top