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