Parcourir la source

Fix to little exception in SQLiteProvider

Kenric Nugteren il y a 7 mois
Parent
commit
6d021c587a
1 fichiers modifiés avec 5 ajouts et 2 suppressions
  1. 5 2
      inabox.database.sqlite/SQLiteProvider.cs

+ 5 - 2
inabox.database.sqlite/SQLiteProvider.cs

@@ -3294,8 +3294,11 @@ public class SQLiteProvider : IProvider
     {
     {
         if(!_externalProperties.TryGetValue(T, out var properties))
         if(!_externalProperties.TryGetValue(T, out var properties))
         {
         {
-            properties = DatabaseSchema.Properties(T).Where(x => x.HasAttribute<ExternalStorageAttribute>()).ToArray();
-            _externalProperties.Add(T, properties);
+            lock (_externalProperties)
+            {
+                properties = DatabaseSchema.Properties(T).Where(x => x.HasAttribute<ExternalStorageAttribute>()).ToArray();
+                _externalProperties.TryAdd(T, properties);
+            }
         }
         }
         return properties;
         return properties;
     }
     }