Я использовал в проекте EntityFramework Core с подходом database first и создал модель данных по документации.
Но я не знаю, как обновить модель, когда база изменилась.
В EF 6 был инструмент обновления модели:
Который запускал отдельный Wizard:
Похоже, что такого инструмента больше нет.
Свободный перевод вопроса How to update the model when using database first approach от участника @witson.
Подобного инструмента в EF Core нет (на текущий момент EF Core 2.2 и похоже не будет в планах как минимум до EF Core 3.0)
Что можно сделать?
Вы можете заново запустить скафолд модели: ту же самую команду, которой изначально генерировали, только с добавлением ключа -Force
-- это приведёт к тому, что содержимое модели будет перезаписано поверх изначальной модели.
Например, используя Package Manager Console команда будет вида:
Scaffold-DbContext "Server=(localdb)\v11.0;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
Альтернативно, используя CLI команда будет вида:
dotnet ef dbcontext scaffold "Server=(localdb)\v11.0;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -o Models -f
Дополнительный совет
Если вы постоянно обновляете модель, вот удобный способ облегчить процесс.
Зайдите в меню Tools > External Tools, затем кликните Add и заполните параметры следующим образом:
Title:
Update DbContext
Command:
dotnet.exe
Arguments:
ef dbcontext scaffold "your-connection-string" Microsoft.EntityFrameworkCore.SqlServer --output-dir=Models --force
Initial directory:
$(ProjectDir)
Опционально можно поставить галку "Use Output window", после чего нажмите Apply и OK.
Когда вы снова зайдёте в меню Tools, в нём появится ваш новый пункт меню -- остаётся просто нажать, чтобы запустить обновление модели!
Свободный перевод ответа How to update the model when using database first approach от участника @Mike Brind и ответа How to update the model when using database first approach от участника @Yom S..
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть exe программа, написанная на C#Она записывает значения в SQL Server
Расскажите пожалуйста, можно ли добиться возможности использования директив компилятора в xaml, wpfЕсли можно, то как?
Формат драйвера, ниже прописал ошыбку ChromeOptions options = new ChromeOptions(); optionsAddUserProfilePreference("profile