DataContext的例外情况

我一直在互联网上搜索,但我似乎无法找到它。 DataContext可以抛出哪些exception? 或者更具体地说,DataContext.SubmitChanges()方法抛出什么exception?

编辑
作为参考,这里列出了可能由L2S DataContext引发的已知exception:

  • SQLEXCEPTION
  • ChangeConflictException
  • DuplicateKeyException
  • ForeignKeyReferenceAlreadyHasValueException
  • OutOfMemoryException(未正确处理DataContext时)

你是对的,MSDN在这里不是很好的帮助。 这是我从头顶记得的东西:

  • SqlException(来自ADO.NET层)
  • ChangeConflictException(L2S)
  • DuplicateKeyException(L2S)
  • 任何一些cusomized覆盖(部分void OnXXXEntity)可能会引发

好吧,当数据库级别发生错误时,存在潜在的数据库exception(我认为类型为SqlClientException)。 当它检测到另一个用户的并发更改时,它会抛出ChangeConflictException。 可能还有其他的,取决于值是否为空时,不应该是这样的事情。 许多错误直接与上下文本身无关。

HTH。