1

У меня есть существующий проект БД и новый проект WPF.Entity Framework 7 Обновление DbContext после миграции

1) I scaffolded дб контекста с Scaffold-DbContext и получил DbContext.cs и файл для каждого объекта, который представляет таблицу БД. Ничего страшного. Вот пример одного из них:

public partial class SomeEntity 
    { 
     public long SomeEntityID { get; set; } 
     public int SomeInt { get; set; } 
    } 

2) Я вручную обновил эту сущность (никаких изменений в DbContext.cs):

public partial class SomeEntity 
    { 
     public long SomeEntityID { get; set; } 
     public int SomeInt { get; set; } 
     public string SomeString { get; set; } 
    } 

3) I Вы использовали команду Add-Migration. Теперь у меня есть файл миграции, который описывает необходимые изменения и DbContextSnapshot.cs. Снимок включает изменения, которые я только что сделал с SomeEntity. База данных не обновляется.

4) Я использовал команду Update-Database. База данных обновлена ​​для соответствия последней миграции. Но мой DbContext.cs ничего не знает об изменениях в БД. Это все тот же старый хороший DbContext, который у меня был после DB.

В порядке? Должен ли я теперь изменить DbContext вручную, чтобы соответствовать изменениям, которые я сделал для своих объектов, и применил их к БД? Есть ли способ обновить DbContext.cs из базы данных после изменений без «rescaffolding»? (Потому что, например, все комментарии и атрибуты в файлах сущностей будут потеряны, потому что они будут заменены новыми, если я снова использую Scaffold-DbContext)

ответ

1

Вам нужно будет снова запустить строительные леса, но имейте в виду, что сгенерированные классы являются частичными, поэтому вы можете поместить свои изменения в другой файл

Смежные вопросы