2009-10-28 4 views
0

Je reçois cette exception lors du mappage d'une relation un-à-plusieurs. mon xml mapping ressemble à ceci:n Question de mappage un-à-plusieurs nHibernate

<set name="-----" generic="true" inverse="true" cascade="all" lazy="false"> 
     <key column="Id" /> 
     <one-to-many class="-----------,---------" /> 
</set> 

Et,

<many-to-one name="------" column="Id" not-null="true" class="---------,-------" /> 

et l'exception:

------ Test started: Assembly: ----------.dll ------ 

TestCase '-------.GetSchema' failed: NHibernate.MappingException : Could not determine type for: Iesi.Collections.Generic.ISet`1[[-----------, --------, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, for columns: NHibernate.Mapping.Column(--------) 
    at NHibernate.Mapping.SimpleValue.get_Type() 
    at NHibernate.Mapping.SimpleValue.IsValid(IMapping mapping) 
    at NHibernate.Mapping.Property.IsValid(IMapping mapping) 
    at NHibernate.Mapping.PersistentClass.Validate(IMapping mapping) 
    at NHibernate.Mapping.RootClass.Validate(IMapping mapping) 
    at NHibernate.Cfg.Configuration.Validate() 
    at NHibernate.Cfg.Configuration.BuildSessionFactory() 
    at in 
0 passed, 1 failed, 0 skipped, took 4.20 seconds (NUnit 2.5.2). 

S'il vous plaît me dire ce qui se passe ici. Merci, Reddy

Edit: Désolé les gars, il est une faute de frappe, je l'ai trouvé après avoir publié ma question ... bizarre ....

Répondre

0

Dans mon cas, ce ne fut pas une faute de frappe, j'avais une classe RuleInfo qui avait un champ de type ActionInfo.

J'ai réussi à résoudre mon problème en ajoutant [Serializable] à ActionInfo classe. La chose amusante est que tout a bien fonctionné en utilisant ActionInfo, c'est-à-dire que je pouvais utiliser mes tests unitaires pour le CRUD sur la BD.

Je pourrais aussi CRUD RuleInfo class sans le champ ActionInfo. Après avoir ajouté le champ, l'erreur est apparue.