Prechádzať zdrojové kódy

Improved performance of LoadForeignProperties

Kenric Nugteren 7 mesiacov pred
rodič
commit
05ecde66e9
1 zmenil súbory, kde vykonal 3 pridanie a 2 odobranie
  1. 3 2
      InABox.Core/Client/Client.cs

+ 3 - 2
InABox.Core/Client/Client.cs

@@ -758,11 +758,12 @@ namespace InABox.Clients
                 {
                     continue;
                 }
+                var keyCol = table.GetColumnIndex<Entity, Guid>(x => x.ID);
+                var dict = table.Rows.ToDictionary(x => x.Get<Guid>(keyCol));
                 foreach (var entity in data.Item3)
                 {
                     var linkID = (Guid)prop.Getter()(entity);
-                    var row = table.Rows.FirstOrDefault(x => x.Get<Entity, Guid>(x => x.ID) == linkID);
-                    if (row != null)
+                    if (dict.TryGetValue(linkID, out var row))
                     {
                         foreach (var (name, property) in data.Item2)
                         {