You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							57 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
	
	
							57 lines
						
					
					
						
							1.7 KiB
						
					
					
				| 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<object> ExecuteAction(DataModel dataModel) | |
|         { | |
|             throw new NotImplementedException(); | |
|         } | |
|  | |
|  | |
|         // 批量插入信息 | |
|         public int ListInsert(List<STD_OBJECT_MAPPING> 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; | |
|             } | |
|         } | |
|     } | |
| }
 | |
| 
 |