“Index non valide n pour cette SqlParameterCollection avec Count=n” OU “clé étrangère ne peut pas être null”

J'ai été avec succès à l'aide de NHibernate pour un certain temps maintenant et
ont été en mesure de résoudre beaucoup de problèmes grâce à une application que j'ai
développé avec elle et qui est en cours d'exécution dans la production. La récente obstacle
vraiment a moi de me gratter la tête, cependant.

Récemment, j'ai dû agrandir la bibliothèque de classe avec quelques nouvelles classes qui
sont imbriquées comme les enfants de certains des classes déjà existantes. Je viens de copier
le même modèle pour l'ensemble de la cartographie que je déjà été un succès
à l'aide, mais cette fois il ne fonctionne pas.

Maintenant, quand j'utilise la suite dans le parent de mappage de fichier:

  <bag name="SeaInfoItems" table="EDIImport_SeaInfo" lazy="false" cascade="save-update"> 
     <key column="EDI_FK_OWNERID"/> 
     <one-to-many class="FargoGate.AppLib.EdiImportSeaInfo, FargoGate.AppLib"/> 
  </bag> 

Je peux choisir, dans la classe enfant, soit utiliser:

  <property name="EDI_FK_OWNERID" column="EDI_FK_OWNERID" /> 

...ce qui me donne l'infâme "Index non Valide n pour cette
SqlParameterCollection avec Count=n" erreur.

OU j'ai essayez avec cette solution je l'ai trouvé après quelques recherches sur Google:

   <property name="EDI_FK_OWNERID" column="EDI_FK_OWNERID" insert="false" update="false" /> 

...ce qui me donne un "Impossible d'insérer la valeur NULL dans la colonne
'EDI_FK_OWNERID'... colonne de ne pas autoriser les valeurs null." erreur.

Donc, fondamentalement, je dois choisir entre le ravageur et le choléra.

Ce que je ne comprends pas, c'est qu'il fonctionne parfaitement pour le déjà existant
d'agrégation des classes, et j'ai vraiment ne peut pas repérer la différence. La seule
c'est que cette clé étrangère (EDI_FK_OWNERID) peut se référer à deux
différentes tables parent. Mauvaise conception de base de données, je sais, mais je n'ai pas
conception, et c'est mon travail de les développer jusqu'à elle pour le meilleur ou pour le pire. Je ne peux pas changer la conception de base de données.

L'autre différence est que j'ai totalement supprimé la référence de clé étrangère de la déjà existant enfant des classes (les correspondances ainsi que les membres de la classe). J'ai essayé d'imiter qui, bien sûr, mais en vain.

Aussi, j'ai découvert que l'une des nouvelles classes (ce qui est assez petit) fonctionne aussi très bien. Mais je ne vois pas quelle est la différence, ici, soit. Je suis perplexe!

Quelqu'un a une idée?