Bonjour,

Je ne trouve pas comment écrire le fichier hbm d'une classe contenant un dictionnaire. Voici plus précisément la situation :

J'ai une classe Ressource contenant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class Ressource
{
        private int _Id;
        private int _IdSystem;
        private ENomRessource _Nom;
 
        public int Id
        {
            get { return _Id; }
            set { _Id = value; }
        }
 
        public int IdSystem
        {
            get { return _IdSystem; }
            set { _IdSystem= value; }
        }
 
        public ENomRessource Nom
        {
            get { return _Nom; }
            set { _Nom= value; }
        }
}
 
public enum ENomRessource
{
        Ressource_A,
        Ressource_B,
        Ressource_C,
        ...
}
Une classe System :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class System
{
        private int _Id;
        private IDictionary _ListRessources;
 
        public int Id
        {
            get { return _Id; }
            set { _Id= value; }
        }
 
        public IDictionary ListRessources
        {
            get { return _ListRessources; }
            set { _ListRessources = value; }
        }
}
Je voudrais que le dictionnaire de System ait pour clé le nom de la ressource et pour valeur une Ressource comme cela :
_ListRessources = new Dictionary<ENomRessource, Ressource>();

Tant qu'il s'agissait d'une liste, mon fichier hbm de System ressemblait à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<bag name="_ListRessources" lazy="false" access="field" cascade="all" inverse="false" >
	<key column="IdSystem" />
	<one-to-many class="MonProjet.Ressource, MonProjet" />
</bag>
Mais en passant au dictionnaire, ceci ne fonctionne plus bien évidement et je ne trouve pas comment faire.

Quelqu'un s'y connait il assez bien en mapping de dictionnaire pour m'expliquer comment je dois m'y prendre ?

Merci d'avance,
Florian