In my ASP.Net MVC 5 project, I have a custom initializer class:

```
class CustomInitializer : DropCreateDatabaseIfModelChanges<GhazanetContext>

```

I want to seed the context with several users. The problem is that the new MVC 5 is `async` and whatever I try to do fails. Here's my code which attempts to create a user:

```
    private void AddRestaurant(RegisterRestaurantViewModel model, DBContext db)
    {
        User user = new User(model.UserName) { Addresses = new List<Address>(), Role = "Restaurant" };
        user.Addresses.Add(model.Address);

        Task.Factory.StartNew(async () =>
            {
                await Users.Create(user); // GETS STUCK HERE

                var newUser = db.Users.Where(u => u.UserName == user.UserName).FirstOrDefault();
                var restaurant = new Restaurant(model) { User = newUser };
                db.Restaurants.Add(restaurant);
                db.SaveChanges();
                await Secrets.Create(new UserSecret(model.UserName, model.Password));
                await Logins.Add(new UserLogin(user.Id, IdentityConfig.LocalLoginProvider, model.UserName));

                const string role = "Restaurant";
                if (!await Roles.RoleExists(role))
                    await Roles.CreateRole(new Role(role));

                await Roles.AddUserToRole(role, user.Id);
            }).RunSynchronously();
    }
}

```

When I run this code, it gets stuck in the line above but when I run it in the website and register users, it works perfectly. Is there something I'm missing here?