zoukankan      html  css  js  c++  java
  • C# Transaction 事务处理

    using (var db = GetDbContext())
    {
    using (var trans = db.Database.BeginTransaction())
    {
    int i = 1;

    var RecordId = findings.Select(p => p.RecordId).Distinct().FirstOrDefault();
    var allFindings = db.A_Findings.Where(p => p.RecordId == RecordId).ToList();
    foreach (var finding in findings)
    {
    finding.CreateBy = user.Name;
    finding.CreateTime = DateTime.Now;
    finding.ItemNo = i;
    //finding.Order = TPMOrder;
    finding.Picture = finding.FileName;
    i++;
    if (finding.Id.ToString().Equals("00000000-0000-0000-0000-000000000000"))
    {
    finding.Id = Guid.NewGuid();
    db.A_Findings.Add(finding);
    }
    else
    {
    allFindings.Remove(allFindings.Find(p => p.Id == finding.Id));
    var f = db.A_Findings.Find(finding.Id);
    f.ItemNo = finding.ItemNo;
    f.Description = finding.Description;
    //db.A_Findings.Add(f);
    }
    }
    foreach (var f in allFindings)
    {
    db.A_Findings.Remove(f);
    }
    //db.A_Findings.Remove();
    try
    {
    db.SaveChanges();
    trans.Commit();
    }
    catch (Exception ex)
    {
    trans.Rollback();
    Logger.Error("SaveFinding Error:", ex);
    result.Errors.Add("SaveFinding Error:" + ex.Message);
    }
    }
    }

  • 相关阅读:
    测试的种类
    软件测试的原则
    软件测试的目的
    软件测试的对象
    软件的分类
    软件测试
    mysql 视图
    mysql 字段添加以及删除
    mysql 引擎类型
    mysql 数据插入insert
  • 原文地址:https://www.cnblogs.com/Depingblogs/p/13328640.html
Copyright © 2011-2022 走看看