2009-11-02 8 views
0

Je suis un nouveau développeur NHibernate. J'utilise des attributs et non des fichiers de carte et j'ai configuré l'application pour créer les tables automatiquement.Liste de mappage des attributs NHibernate

I Possède deux classes, Groupe et Utilisateur.

Withing la classe du groupe I ont une liste d'utilisateurs

public class Group 
{ 
    [NHibernate.Mapping.Attributes.Id(Name = "GroupId")] 
    [NHibernate.Mapping.Attributes.Generator(Class = "guid")] 
    public virtual Guid GroupId { get; set; } 
    // What Attributes do I place here 
    public virtual List<User> Users { get; set; } 
} 

Je ne peux pas trouver les attributs afin qu'il y aura deux tables qui ont un à plusieurs relation.

Quelqu'un peut-il aider?

Merci, Ronny

Répondre

2

[ManyToMany], [OneToMany] ou [ManyToOne] (ces documents liés sont assez inutiles si) selon la façon dont vous voulez configurer. Probablement [OneToMany], puis la même chose sur un utilisateur. Vous pouvez éviter la douleur en utilisant la bibliothèque Fluent NHibernate à la place, si vous ne l'avez pas déjà essayé.

+0

Merci pour votre rediffusion, j'ai essayé d'utiliser [OneToMany] mais les utilisateurs n'ont pas été enregistrés. Puis j'ai essayé d'ajouter [List] [Key] [Index] et j'ai eu deux types d'erreurs. "Nombre de lignes inattendu: 0; attendu: 1" "l'objet référence une instance transitoire non enregistrée ..." – Ronny

+0

Avez-vous enregistré l'utilisateur en premier? Et (pour NH2.x) est-ce dans une transaction? –

+0

merci, c'était le problème :) Existe-t-il un moyen de dire à Hibernate de sauver automatiquement les enfants d'abord? – Ronny

Questions connexes