Это создаст таблицу EdmMetadata
, которая содержит хэш текущей модели.Каждый раз, когда вы создаете экземпляр своего производного DbContext
и хотите получить доступ к базе данных, контекст выполняет специальный запрос для получения сохраненного хэша.Затем контекст сравнивает хеш текущей модели с найденной.Если хеш отличается, он выполняет инициализатор базы данных или запускает исключение.При использовании этой функции вы можете, например, определить инициализатор:
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyComtext>());
Этот инициализатор удалит базу данных и создаст новую, если модель изменится.Это значительно упрощает разработку кода, но вы не должны использовать его в производстве.Вы также можете получить инициализатор и создать собственный метод с переопределением Seed
.Вы можете использовать Seed
метод для инициализации вашей базы данных.