I've been doing some searching on the internet, but I can't seem to find the awnser. What exceptions can a DataContext throw? Or to be more specific, what exceptions does the DataContext.SubmitChanges() method throw?
EDIT
For reference, here a List of possible known exceptions that could be thrown by the L2S DataContext:
- SqlException
- ChangeConflictException
- DuplicateKeyException
- ForeignKeyReferenceAlreadyHasValueException
- OutOfMemoryException (when not correctly disposing the DataContext)
You're right, MSDN is not a great help here. This is what I can remember from the top of my head:
- SqlException (from the ADO.NET layer)
- ChangeConflictException (L2S)
- DuplicateKeyException (L2S)
- Anything that cusomized overrides (partial void OnXXXEntity) may raise
Well, there are underlying database exceptions (I think of type SqlClientException) when the error occurs at the database level. There is the ChangeConflictException that it throws when it detects a concurrent change by another user. There may be others depending on whether a value is null when it shouldn't be, that sort of thing. A lot of the errors are unrelated to the context itself directly.
HTH.
来源:https://stackoverflow.com/questions/2904317/exceptions-by-datacontext