Bläddra i källkod

在导航更新时,只更新主表某些列(传入的input)

Signed-off-by: aquan <1491897341@qq.com>
aquan 1 år sedan
förälder
incheckning
2cbe9fb391
1 ändrade filer med 26 tillägg och 0 borttagningar
  1. 26 0
      Admin.NET/Admin.NET.Core/Extension/RepositoryExtension.cs

+ 26 - 0
Admin.NET/Admin.NET.Core/Extension/RepositoryExtension.cs

@@ -406,6 +406,32 @@ public static class RepositoryExtension
         return updateable;
     }
 
+    /// <summary>
+    /// 导航只更新(主表)某些列
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <typeparam name="R"></typeparam>
+    /// <param name="t"></param>
+    /// <param name="r"></param>
+    /// <returns></returns>
+    public static UpdateNavRootOptions OnlyNavUpdateColumn<T, R>(this T t, R r)
+    {
+        UpdateNavRootOptions uNOption = new UpdateNavRootOptions();
+        var updateColumns = new List<string>();
+
+        foreach (PropertyInfo info in r.GetType().GetProperties())
+        {
+            //判断是否是相同属性
+            PropertyInfo pro = t.GetType().GetProperty(info.Name);
+            var attr = pro.GetCustomAttribute<SugarColumn>();
+            if (pro != null && attr!=null &&!attr.IsPrimaryKey)
+                updateColumns.Add(info.Name);
+
+        }
+        uNOption.UpdateColumns = updateColumns.ToArray();
+        return uNOption;
+    }
+
     /// <summary>
     /// 批量列表in查询
     /// </summary>