private static void SaveCategories(IEnumerable <Category> categories, string connectionString = null) { var options = new DbContextOptionsBuilder <RunnerDbContext>() .UseSqlServer(connectionString ?? "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=MarathonManager;Integrated Security=True") .Options; using (var context = new RunnerDbContext(options)) { context.AddRange(categories.ToList()); context.SaveChanges(); } }
public void Add_Category_with_name_longer_than_50_chars_AnyRandomDatabaseExeption() { var options = new DbContextOptionsBuilder <RunnerDbContext>() .UseInMemoryDatabase(nameof(Add_Category_with_name_longer_than_50_chars_AnyRandomDatabaseExeption)) .Options; using (var context = new RunnerDbContext(options)) { var category = new Category { Name = "A Name longer than 50 Characters__40345678950Bllalbaldjflahsfduhalsdfj", }; context.Categories.Add(category); Assert.ThrowsAny <Exception>(() => context.SaveChanges()); } }
private static void CalculateTimes() { var optionsBuilder = new DbContextOptionsBuilder <RunnerDbContext>(); optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=MarathonManager;Integrated Security=True"); using (var context = new RunnerDbContext(optionsBuilder.Options)) using (var unitOfWork = new UnitOfWork(context, new CategoryRepository(context), new RunnerRepository(context), new Database(context), new EmptyChangesFinder(), new EmptyChangesLogger())) { var r = context.Runners.SingleOrDefault(rx => rx.Startnumber == 193); var category = context.Categories.Single(c => c.Id == 14); r.RunningTime = r.TimeAtDestination - category.Starttime; Console.WriteLine($"{r.Startnumber, 3} | {r.TimeAtDestination} | {r.RunningTime}"); context.SaveChanges(); } Console.ReadKey(); }
private static void InsertCategories() { var defaultCategories = ReadCategories(); var options = new DbContextOptionsBuilder <RunnerDbContext>() .UseSqlServer(Configuration.GetConnectionString("Default")) .Options; using (var context = new RunnerDbContext(options)) { var categories = defaultCategories.Select(c => new Category { Name = c.Name }); context.AddRange(categories); context.SaveChanges(); WriteLine("Categories were successfully saved:"); categories.ForEach(c => WriteLine($"| {c.Name}")); } }
public void CRUD_Operations_for_Categories() { var options = new DbContextOptionsBuilder <RunnerDbContext>() .UseInMemoryDatabase("CRUD_Operations_for_Categories") .Options; using (var context = new RunnerDbContext(options)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); var categories = new[] { new Category { Name = "Category1" }, new Category { Name = "Category2" }, new Category { Name = "Category3" }, }; context.Categories.AddRange(categories); context.SaveChanges(); } using (var context = new RunnerDbContext(options)) { var categories = context.Categories.ToList(); Assert.Equal(3, categories.Count); Assert.Equal("Category2", categories[1].Name); Assert.Null(categories[1].Starttime); categories[0].Name = "New Category Name Number 1"; categories[2].Name = "Whatever"; context.SaveChanges(); } using (var context = new RunnerDbContext(options)) { var categories = context.Categories.ToList(); Assert.Equal(3, categories.Count); Assert.Equal("New Category Name Number 1", categories[0].Name); Assert.Equal("Whatever", categories[2].Name); context.Remove(categories[1]); context.SaveChanges(); } using (var context = new RunnerDbContext(options)) { var categories = context.Categories.ToList(); Assert.Equal(2, categories.Count); context.Categories.RemoveRange(categories); context.SaveChanges(); } using (var context = new RunnerDbContext(options)) { var countCategories = context.Categories.Count(); Assert.Equal(0, countCategories); } }
public void CRUD_Operations_for_Runners() { var options = new DbContextOptionsBuilder <RunnerDbContext>() .UseInMemoryDatabase("CRUD_Operations_for_Runners") .Options; using (var context = new RunnerDbContext(options)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); var categories = new[] { new Category { Name = "Category1" }, new Category { Name = "Category2" }, new Category { Name = "Category3" }, }; context.Categories.AddRange(categories); context.SaveChanges(); } using (var context = new RunnerDbContext(options)) { var categories = context.Categories.ToList(); var runners = new[] { new Runner { Firstname = "Ein Vorname", Lastname = "Ein Nachname", Gender = Gender.Mann, YearOfBirth = 1980, Category = categories[0] }, new Runner { Firstname = "Ein anderer Vorname", Lastname = "Ein anderer Nachname", Gender = Gender.Frau, YearOfBirth = 1990, Category = categories[1] }, new Runner { Firstname = "Noch ein anderer Vorname", Lastname = "noch ein anderer Nachname", Gender = Gender.Mann, YearOfBirth = 2000, Category = categories[2] } }; context.Runners.AddRange(runners); context.SaveChanges(); } using (var context = new RunnerDbContext(options)) { var runners = context.Runners.ToList(); Assert.Equal(3, runners.Count); Assert.Equal(1980, runners[0].YearOfBirth); Assert.Equal("Ein anderer Vorname", runners[1].Firstname); Assert.Equal(Gender.Mann, runners[2].Gender); } using (var context = new RunnerDbContext(options)) { var runners = context.Runners.ToList(); context.Runners.RemoveRange(runners); context.SaveChanges(); } using (var context = new RunnerDbContext(options)) { var countRunners = context.Runners.Count(); Assert.Equal(0, countRunners); } }