Как обновить модели во время выполнения, используя EF core 2.2? - PullRequest
1 голос
/ 02 апреля 2019

Я работаю на web API project с Entity framework 2.2 как DB first approach.Мое требование: когда мы добавляем новую таблицу в базу данных, модели должны обновляться во время выполнения.Я знаю, как это сделать с помощью консоли диспетчера пакетов, но мне нужно сделать это программно.Как мне этого добиться?

Я пытался использовать db.Database.Migrate(); в startup class.

Как получить подтверждение обновления моделей?

1 Ответ

0 голосов
/ 02 апреля 2019

вам нужно написать метод, который может выполнять команду powershell с помощью c #, и вызвать этот метод в функции запуска

public class PowerShellHelper
{
    public void Execute(string command)
    {
        using (var ps = PowerShell.Create())
        {
            var results = ps.AddScript(command).Invoke();
            foreach (var result in results)
            {
                Debug.Write(result.ToString());
            }
        }
    }
}

, чтобы обновить модель из базы данных:

Scaffold-DbContext [-Connection] [-Provider] [-OutputDir] [-Context] [-Schemas>] [-Tables>] 
                    [-DataAnnotations] [-Force] [-Project] [-StartupProject] [<CommonParameters>] 

use -атрибут force для принудительного обновления модели.Я не уверен, что это решение будет работать с вами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...