Quellcode durchsuchen

mark items as edited before convertings to dbo

tags/v0.2.2
Robin Thoni vor 7 Jahren
Ursprung
Commit
f948c5985d
2 geänderte Dateien mit 13 neuen und 7 gelöschten Zeilen
  1. 2
    3
      Luticate2.Utils/DataAccess/LuEfCrudDataAccess.cs
  2. 11
    4
      TestUtils/Tests.cs

+ 2
- 3
Luticate2.Utils/DataAccess/LuEfCrudDataAccess.cs Datei anzeigen

@@ -281,15 +281,14 @@ namespace Luticate2.Utils.DataAccess
281 281
         {
282 282
             return Execute((db, table) =>
283 283
             {
284
-                var models = GetEditQueryable(db, table).Where(predicate).AsNoTracking();
285
-                var editedDbos = new List<TDboRead>();
284
+                var models = GetEditQueryable(db, table).Where(predicate).AsNoTracking().ToList();
286 285
                 foreach (var model in models)
287 286
                 {
288 287
                     update(model);
289
-                    editedDbos.Add(GetDboFromModel(model));
290 288
                     db.Entry(model).State = EntityState.Modified;
291 289
                 }
292 290
                 db.SaveChanges();
291
+                var editedDbos = models.Select(GetDboFromModel).ToList();
293 292
                 var res = returnFunc(editedDbos);
294 293
                 return LuResult<T>.Ok(res);
295 294
             });

+ 11
- 4
TestUtils/Tests.cs Datei anzeigen

@@ -17,10 +17,17 @@ namespace TestUtils
17 17
                 ServiceLifetime.Transient);
18 18
             var serviceProvider = serviceCollection.BuildServiceProvider();
19 19
             var dbContext = (LuUtilsDbContext)serviceProvider.GetService(typeof(LuUtilsDbContext));
20
-            func(serviceProvider);
21
-            dbContext.pk_bigserial.RemoveRange(dbContext.pk_bigserial);
22
-            dbContext.pk_guid.RemoveRange(dbContext.pk_guid);
23
-            dbContext.SaveChanges();
20
+            try
21
+            {
22
+                func(serviceProvider);
23
+            }
24
+            finally
25
+            {
26
+                dbContext.pk_bigserial.RemoveRange(dbContext.pk_bigserial);
27
+                dbContext.pk_guid.RemoveRange(dbContext.pk_guid);
28
+                dbContext.SaveChanges();
29
+                dbContext.Dispose();
30
+            }
24 31
         }
25 32
     }
26 33
 }

Laden…
Abbrechen
Speichern