Пример #1
0
        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();
                }
            }
        }
Пример #2
0
        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();
        }