Je reçois la valeur de la propriété déshydratoire de déshydration de l'erreur lors de l'engagement pendant la mise à jour. J'ai cherché et j'ai l'air similaire à NHibernate: Erreur de déshydratation Propriété - Ce que diable est-ce? La seule différence étant que dans la question référé, NHibernate se plaignait de Impossible de résoudre la valeur de la propriété forte> pour l'émission de données existant dans la base de données afin que cela ne puisse pas être Une question de référencement d'un enregistrement non enregistré p> Ce qui suit est l'erreur suivante. p> mappage pour l'émission d'émetteur p> p> schéma pour émetteurOffice p> mappage pour autocollantVoice p> < / p> schéma pour autocollantVoice p> J'ai essayé pour des désactivités de type de données ou des propriétés répétées, mais n'a trouvé aucun. p> toute assistance sera appréciée. < / p> p>
3 Réponses :
Si vous examinez votre exception plus avec précaution, vous verrez cette erreur:
NHibernate.TransientObjectException: Objet Références Un non favorisé Instance transitoire - Enregistrez l'instance transitoire avant de rincer ou fixer une action en cascade pour la propriété à quelque chose qui le ferait autosave. Type: Model.IssuSuSuçice, entité: Model.SuSuingOffice P> BlockQuote>
Fondamentalement, on dirait que vous essayez de sauvegarder le
émetteuroffice code> contenant un ou plusieurs non enregistrés
autocollantVoice code>. Vous devez définir le Option en cascade sur
émetteurOffice Code> Cartographie du sac. P>
<bag name="IssuedStickers" table="StickerInvoice" generic="true" inverse="true" cascade="save-update"> <key column="StickerIssuingOfficeId" /> <one-to-many class="StickerInvoice"/> </bag>
L'émetteur propose déjà dans la base de données et ne nécessite donc pas d'économie ni de mise à jour. Je veux seulement mettre à jour les données existantes sur le stickerinvoice sans affecter l'émission de proposition. Dans ce scénario, j'ai vraiment besoin d'une cascade?
Ensuite, vous utilisez probablement une instance transitoire de StickerInvoice, peut-être chargée dans une autre session.
Enquête sur votre dernier commentaire, j'ai réalisé que la version de l'émission d'émetteur a été initialement définie sur 0 lors de l'initialisation des données. Changer la valeur à 1 résolvé le problème. Merci pour ton aide
J'ai résolu cette exception en définissant un drapeau de lecture de la partie multiple d'une partie de la relation:
Je me demande pourquoi les échantillons ne se réfèrent pas à cette solution simple. J'ai perdu environ 2-3 jours à la recherche de cette solution simple.
Cette erreur apparaît lorsque vous essayez d'enregistrer l'objet avec ID = 0 P>