Итак, я изучаю MVC3 и EF4. Я попробовал первый метод кода, но для меня это было слишком запутанным. Я могу создавать классы без проблем, но сложная часть возникает при работе с внешними ключами и отношениями между собой.
Но сначала я пошел с моделью. Таким образом, я могу визуально спроектировать его и посмотреть, где находятся отношения.
После создания моей модели он создает SQL для меня, который я выполняю в своей базе данных SQL Express. Сделано и сделано.
Теперь я хочу данные в своих таблицах. Конечно, я могу просто добавить их в использование проводника сервера, но, скорее всего, я буду вносить изменения в свою модель, когда я иду. И продолжайте обновлять базу данных. Поэтому я не могу вручную вводить данные. Я знаю, если вы сначала используете код, вы можете получить DropCreateDatabaseIfModelChanges
и переопределить метод seed
.
Однако как это сделать с помощью первого подхода модели? У меня есть следующий код:
public class DatabaseInitializer : IDatabaseInitializer<BettingContext> {
public void InitializeDatabase(BettingContext context) {
var teams = new List<Team> {
new Team { Name="Toronto Maple Leafs", League="NHL"},
new Team { Name="Boston Bruins", League="NHL"},
new Team { Name="Vancouver Canucks", League="NHL"},
new Team { Name="Nashville Predators", League="NHL"},
new Team { Name="Montreal Canadiens", League="NHL"},
};
}
}
Конечно, и в моем глобальном файле:
protected void Application_Start()
{
Database.SetInitializer<BettingContext>(new DatabaseInitializer());
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
так что теперь? Как мне сказать, чтобы запустить метод? Что я делаю неправильно?