using DocumentFormat.OpenXml.Drawing.Charts; using medical.transfomer.entity; using ReZero.DependencyInjection; using ReZero.SuperAPI; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace medical.transfomer.business { public class std_object_mapping_business : IScopeContract { public ISqlSugarClient? db = ZeroDb.Db; public Task ExecuteAction(DataModel dataModel) { throw new NotImplementedException(); } // 批量插入信息 public int ListInsert(List list) { try { db!.Ado.BeginTran(); // 完全避免批量插入语法,改用循环逐条插入 int result = 0; foreach (var item in list) { // 不要设置ID为null,而是完全忽略ID列 result += db!.Insertable(item) .IgnoreColumns(it => new { it.ID }) // 完全忽略ID列,让Oracle生成 .ExecuteCommand(); } db!.Ado.CommitTran(); return result; } catch (Exception ex) { db!.Ado.RollbackTran(); // 记录错误详情以便调试 Console.WriteLine($"Oracle插入错误: {ex.Message}"); if (ex.InnerException != null) Console.WriteLine($"内部错误: {ex.InnerException.Message}"); throw; } } } }