DataContext的例外情况

时间:2010-05-25 12:00:06

标签: c# linq-to-sql exception-handling datacontext submitchanges

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

修改
作为参考,这里列出了可能由L2S DataContext抛出的已知异常:

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

2 个答案:

答案 0 :(得分:12)

你没错,MSDN在这里帮助不大。这是我能从头脑中记住的:

  • SqlException(来自ADO.NET层)
  • ChangeConflictException(L2S)
  • DuplicateKeyException(L2S)
  • 任何以cusomized覆盖的内容(部分无效OnXXXEntity)可能会提升

答案 1 :(得分:0)

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

HTH。