From dc1a2cac65d1abadabda8b5fb3977199100d2cb3 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期四, 25 十二月 2025 08:55:24 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
index aae83ad..a49d374 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
@@ -873,7 +873,10 @@
         {
             Type type = entity.GetType();
             Assembly assembly = type.Assembly;
-            Type? htyType = assembly.GetType(type.FullName + "_Hty");
+
+            Type? htyType = assembly.GetTypes().FirstOrDefault(t => !t.IsInterface && !t.IsAbstract && type.IsAssignableFrom(t) && typeof(IBaseHistoryEntity).IsAssignableFrom(t));
+
+            //assembly.GetType(type.FullName + "_Hty");
             if (htyType != null)
             {
                 object? obj = Activator.CreateInstance(htyType);
@@ -892,7 +895,7 @@
                         PropertyInfo propertyInfo = propertyInfos[i];
                         PropertyInfo? property = type.GetProperty(propertyInfo.Name);
 
-                        if (property != null)
+                        if (property != null && property.CanWrite)
                         {
                             if (propertyInfo.Name == nameof(BaseEntity.Modifier))
                             {
@@ -905,7 +908,7 @@
                         }
                     }
                     if (obj != null)
-                        _db.InsertableByObject(obj).AS(type.Name + "_Hty").ExecuteCommand();
+                        _db.InsertableByObject(obj).AS(htyType.Name).ExecuteCommand();
                 }
             }
             return DeleteData(entity);

--
Gitblit v1.9.3