Hi,
I have an unique constraint in the database that throws an exception
but in handling the exception I have to scope.dispose() and create a
new scope otherwise it doesn't seem to send the changes I made to the
object to the database and instead sends the old nonworking state. Is
this this recommended way to handle this?
code below:
Public Sub GLaccountNoDuplicatesDatabaseUniqueConstraint()
Dim scope As New SessionScope(FlushAction.Never)
Dim accs As IList(Of GL.Glaccount)
Dim acc As GL.Glaccount
Dim accdup As GL.Glaccount
accs = GL.Glaccount.FindAll()
acc = accs(0)
accdup = accs(1)
accdup.description = acc.description
accdup.Save()
Try
scope.Flush()
Assert.Fail("Constraint failed")
Catch ex As SmartDatabaseConstraintException
'the exception is expected the two lines below not
scope.Dispose()
scope = New SessionScope(FlushAction.Never)
End Try
accdup.description = acc.description + "2"
scope.Flush()
scope.Dispose()
End Sub
ps. I use a exception converter see it here:
http://stackoverflow.com/questions/1137521/nhibernate-castle-activerecord-how-to-get-object-that-caused-database-exceptio
Thanks,
Gerdus
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Castle Project Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---