예제 #1
0
 private void CreateDatabase()
 {
     using (var ctx = new EFCoreBenchmarkDbContext(GetOptions()))
     {
         ctx.Database.EnsureDeleted();
         ctx.Database.EnsureCreated();
     }
 }
예제 #2
0
 private void CleanDatabases()
 {
     using (var ctx = new EFCoreBenchmarkDbContext(GetOptions()))
     {
         ctx.RemoveRange(ctx.Set <Hyperlink>());
         ctx.RemoveRange(ctx.Set <WebSite>());
         ctx.RemoveRange(ctx.Set <Post>());
         ctx.RemoveRange(ctx.Set <Comment>());
         ctx.RemoveRange(ctx.Set <AzureLocation>());
         ctx.RemoveRange(ctx.Set <User>());
         ctx.SaveChanges();
     }
 }
예제 #3
0
 public void SeedSetup()
 {
     Console.WriteLine("Global setup with insertions");
     CreateDatabase();
     using (var ctx = new EFCoreBenchmarkDbContext(GetOptions()))
     {
         var azureLocation = new AzureLocation
         {
             Country    = "FR",
             DataCenter = "Marseille"
         };
         ctx.Add(azureLocation);
         for (int i = 0; i < NbIterations; i++)
         {
             var website = new WebSite
             {
                 Url           = "http://blogs.msdn.com/dotnet/" + i,
                 AzureLocation = azureLocation,
                 HyperLinks    = new List <Hyperlink>
                 {
                     new Hyperlink
                     {
                         Value = "http://blogs.msd.com/dotnet/article/" + i
                     }
                 },
                 Posts = new List <Post>
                 {
                     new Post
                     {
                         Content  = string.Concat(Enumerable.Repeat("Content ", 50)),
                         QuickUrl = "http://bit.ly/" + i
                     }
                 }
             };
             ctx.Add(website);
             _allIds.Add(website.Id);
         }
         ctx.SaveChanges();
     }
 }