I have Two Table, tableA e tableB.Impossibile eliminare la raccolta: [NHibernate.Exceptions.GenericADOException]
tableA avere colonna: tabAId, col2, col3 (tabAId primaryKey e la colonna di identità.)
tableB hanno colonna: tabAId, nome (tabAId non è nullo)
devo creare Bag nel file hbm di tableA, per mantenere la relazione ship.
<bag name="tableB" lazy="true" inverse="false"
batch-size="25" cascade="all-delete-orphan">
<key column="tabAId" />
<one-to-many class="tableB" />
</bag>
Quando provo ad aggiornare il record in tableA è un'eccezione tiro, dove, come ho lista di bambino in caso tableA.
[NHibernate.Exceptions.GenericADOException] = { "non ha potuto eliminare collezione: [MIHR.Entities.tableA.tableB 21 #] [SQL: UPDATE dbo.tableB SET tabAId = null DOVE tabAId = @ p0]" }
InnerException = { "Impossibile inserire il valore NULL nella colonna 'tabAId', tabella 'SA_MIHR_DEV.dbo.tableB';... colonna non consente i null aggiornamento non riesce \ r dichiarazione \ nIl è stata terminata" }
Se imposto Inverse = "true", allora non inserirà il valore della colonna Identità appena generata nella tabella figlio, mentre si inserisce un nuovo record nella tabella padre. –
Kohler: Per favore dimmi come fare, quando imposterò 'inversr =" true "'. –
Ora dovresti vedere che ... Ho aggiornato la mia risposta. Ovviamente, l'entità figlia deve avere un riferimento a Parent. Controlla questo http://stackoverflow.com/a/30005490/1679310 per TUTTI I DETTAGLI –