实体框架:SaveChanges和Commit之间的交互

时间:2019-01-15 21:41:55

标签: entity-framework sqlite transactions

我正试图结合两个动作:

  • 进行一些数据库更改
  • 发送电子邮件

我希望做类似的事情

using (DbContextTransaction trans=..., serializable)
{
    try
    {
        db stuff;
        context.SaveChanges();
        Smtp.Send(...);
        trans.Commit();
    }
    catch (...)
    {
        trans.Rollback();
    }
}

我的问题是,是否存在SaveChanges成功,Smtp.Send成功且Commit失败的极端情况? (不包括db连接丢失。)

基础数据库将是SQL Server或SQLite。也就是说,没有任何具有延迟约束的Oracle Db。

0 个答案:

没有答案