2010-05-20 5 views
2

Je suis en train de faire le AutoMapping de Fluent NHibernate ignorer une propriété sur un dictionnaire de mes cours, mais Fluent est me ignores à la place. Ignorant les autres types de propriétés semble fonctionner très bien, mais même après following the documentation et l'ajout d'un remplacement pour le dictionnaire, je reçois toujours l'exception suivante lorsque buildSessionFactory est appelé:Comment faire Fluent NHibernate ignorer les propriétés Dictionnaire

Le type ou la méthode a 2 paramètre générique (s) , mais 1 argument (s) générique (s) ont été fournis. Un argument générique doit être fourni pour chaque paramètre générique.

J'ai essayé dirimante de nom de la propriété:

.Override<MyClass>(map => { 
    map.IgnoreProperty(x => x.MyDictionaryProperty); 
}) 

et aussi essayé la mise en œuvre à l'aide d'un ignores attribut personnalisé, les deux qui aboutissent à la même exception de buildSessionFactory. La seule chose qui fait jusqu'à présent cette exception disparaître supprime entièrement la propriété dictionnaire.

Ma question semble être identique à this one qui n'a jamais été répondu (bien que je vais élargir la portée en déclarant qu'il n'a pas d'importance si le dictionnaire est sur une classe de base abstraite, le problème toujours arrive pour moi quel que soit de quelle classe est la propriété). Les preneurs cette fois-ci?

Répondre

2

Si vous mettez à jour à la dernière version de Fluent NHibernate, IDictionary s sont explicitement ignorés automatiquement pour cette raison exacte. Cela restera le cas jusqu'à ce que nous puissions les soutenir.

+0

qui a fait l'affaire. Merci! –