Question

Pour un (très) longtemps que je suis à la recherche d'un exemple sur la façon de mettre en œuvre correctement one-to-one mapping avec Fluent NHibernate.

La plupart des ressources que je trouve disent:

  

Je pense que vous voulez dire many-to-one

Cependant, personne ne donne en fait un exemple sur la façon de mettre en œuvre correctement l'un à une relation.

pourriez-vous donner un un à un exemple de mise en correspondance avec Fluent NHibernate

Note: Je ne suis pas intéressé par les gens dire « quel est votre modèle, vous pouvez avoir besoin hasMany ». Non, merci, je simplement besoin d'un one-to-one par exemple.

Pour être plus précis, Je sais que la syntaxe . C'est la seule chose que je pouvais trouver en effectuant une recherche par moi-même. Ce que je suis à la recherche est un exemple plus complet, y compris un ((très) simple,) la configuration de base de données et la cartographie ensemble, de toutes les entités qui participent à la relation, qui je pense serait d'une taille raisonnable pour débordement de la pile.

Était-ce utile?

La solution

Je l'ai résolu mon problème.

J'ai aussi écrit un article peu détaillé sur ce problème, que vous pouvez trouver à: http://brunoreis.com/tech/fluent-nhibernate-hasone-how-implement-one-to-one-relationship/index.html

Vous trouverez un scénario dans lequel nous voulons un-à-un, le schéma de base de données que nous le voudrions, le code du modèle tel qu'il doit être de répondre aux besoins NHibernate et le Courant mapping qui correspond à la situation.

Autres conseils

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

Il faut ajouter dans la configuration fluide.

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();
    }

C'est le meilleur exemple Je l'ai vu. Espérons que cela répond à vos besoins.

HasOne(x => x.Prop)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top