Domanda

usando NHibernate;

Sto cercando di inserire più valori a su tavola che ha un indice univoco su alcune colonne.

Mi piacerebbe sapere se un particolare inserto solleva un'eccezione per aver violato il vincolo di esclusiva.

Quindi, quale tipo particolare eccezione devo prendere? Voglio solo prendere questo particolare e lasciare tutti gli altri vanno in su.

Grazie mille!

È stato utile?

Soluzione

È necessario implementare ISQLExceptionConverter.

usando NHibernate ISqlExceptionConverter e http://fabiomaulo.blogspot.com/2009/06/improving-ado-exception- gestione in.html per gli esempi.

Altri suggerimenti

Ho paura che non esiste alcuna eccezione speciale per questo. Si dovrà intercettare le eccezioni ADO NET e sguardo sul testo eccezione interna.

IMHO il tuo approccio non è il più appropriato. Si dovrebbe interrogare il DB al fine di verificare prima l'inserto se i dati saranno violare il vincolo univoco. Se è così, allora non inserire il record.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top