Итак, я изучаю 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);
}
и что теперь? Как мне сказать, чтобы он запустил метод? Что я делаю не так?