From 8f872af917daaf693368b166a6985410976ca30a Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <1247017146@qq.com>
Date: 星期一, 07 四月 2025 14:23:43 +0800
Subject: [PATCH] 优化底层查询添加

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs |   31 ++++++++++++++++++++++++++-----
 1 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs
index 6e000c3..781918a 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs
@@ -21,21 +21,42 @@
 
         public static T DicToModel<T>(this Dictionary<string, object> dic)
         {
+            //T model = Activator.CreateInstance<T>();
+            //PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance);
+
+            //Dictionary<string, object> upperDic = dic.ToDictionary(k => k.Key.ToUpper(), v => v.Value);
+
+            //foreach (var property in propertyInfos)
+            //{
+            //    object value = null;
+            //    if (!upperDic.TryGetValue(property.Name.ToUpper(), out value))
+            //    {
+            //        continue;
+            //    }
+            //    property.SetValue(model, value?.ToString().ChangeType(property.PropertyType));
+            //}
+            //return model;
+
             T model = Activator.CreateInstance<T>();
             PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance);
-
-            Dictionary<string, object> upperDic = dic.ToDictionary(k => k.Key.ToUpper(), v => v.Value);
-
             foreach (var property in propertyInfos)
             {
                 object value = null;
-                if (!upperDic.TryGetValue(property.Name.ToUpper(), out value))
+                if (!dic.TryGetValue(property.Name, out value))
                 {
-                    continue;
+                    if (!dic.TryGetValue(property.Name.FirstLetterToUpper(), out value))
+                    {
+                        if (!dic.TryGetValue(property.Name.FirstLetterToLower(), out value))
+                        {
+                            continue;
+                        }
+                    }
                 }
+                ;
                 property.SetValue(model, value?.ToString().ChangeType(property.PropertyType));
             }
             return model;
+
         }
     }
 }

--
Gitblit v1.9.3