123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using Benchmarks.Model;
- using GenHTTP.Modules.Webservices;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Benchmarks.Tests
- {
- public class UpdateResource
- {
- private static Random _Random = new Random();
- [Method(":queries")]
- public List<World> UpdateWorldsFromPath(string queries) => UpdateWorlds(queries);
- [Method]
- public List<World> UpdateWorlds(string queries)
- {
- var count = 1;
- int.TryParse(queries, out count);
- if (count < 1) count = 1;
- else if (count > 500) count = 500;
- var result = new List<World>(count);
- using (var context = DatabaseContext.Create())
- {
- var ids = Enumerable.Range(1, 10000).Select(x => _Random.Next(1, 10001)).Distinct().Take(count).ToArray();
- foreach (var id in ids)
- {
- var record = context.World.First(w => w.Id == id);
- var old = record.RandomNumber;
- do
- {
- record.RandomNumber = _Random.Next(1, 10001);
- }
- while (old == record.RandomNumber);
- result.Add(record);
- }
- context.SaveChanges();
- }
- return result;
- }
- }
- }
|