private static void InitializeDb() { var cust1 = new Customer { Name = "Customer 1" }; var cust2 = new Customer { Name = "Customer 2" }; var invoice1 = new Invoice { InvoiceNumber = "RE0001", Amount = 123, Customer = cust1 }; var invoice2 = new Invoice { InvoiceNumber = "RE0002", Amount = 123, Customer = cust1 }; var invoice3 = new Invoice { InvoiceNumber = "RE0003", Amount = 123, Customer = cust1 }; var builder = new DbContextOptionsBuilder <SampleContext>(); builder.UseSqlServer("Data Source=.;Initial Catalog=WhatsNew;Integrated Security=True;"); using (var db = new SampleContext(builder.Options)) { var pending = db.Database.GetPendingMigrations(); if (pending.Any()) { db.Database.Migrate(); db.AddRange(cust1, cust2); db.AddRange(invoice1, invoice2, invoice3); db.Entry(cust2).Property("IsDeleted").CurrentValue = true; db.Entry(invoice3).Property("IsDeleted").CurrentValue = true; db.SaveChanges(); } } }
public void Test1() { var optionsBuilder = new DbContextOptionsBuilder(); optionsBuilder.UseSqlite(new SqliteConnection("data source =:memory:")); var dbContext = new SampleContext(optionsBuilder.Options); dbContext.Database.OpenConnection(); dbContext.Database.Migrate(); var roles = CreatRoles(); dbContext.AddRange(roles); var users = CreateUsers(); for (int i = 0; i < 5; i++) { var user = users.ElementAt(i); user.UserRoles.Add(new UserRole { Role = roles.ElementAt(i) }); } dbContext.AddRange(users); dbContext.SaveChanges(); var dbUsers = dbContext.Set <User>() .Include(x => x.UserRoles) .ThenInclude(x => x.Role) .Include(x => x.Properties) .ToList(); foreach (var user in dbUsers) { PrintUser(user); } dbContext.Database.CloseConnection(); }