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