In case you have unique constraints I think that the best option is to handle the validation yourself.
Validating if a value will be duplicated on a table is behond the scope of an ORM.
ORM is working passing the validation for you to handle when it thows throws the exception and its up to you to behave accordingly.
Lets think a bit about what does it take for you to validate is a value will be a duplicate on the database before the execution of the insert command...
1. You'll have to perform a SELECT for every column that have an unique constraint validating it they already have the value that is about to be inserted.
2. If not, perform the INSERT.
3. If so, throw an Exception?... this is quite what's happening now...
So, let it blow! :)
Just be prepared for it to blow (wrap the save within a Try/Catch) and act accordingly.
Cheers!
Alex