如何使用EF core 2.2在运行时更新模型?

时间:2019-04-02 10:12:24

标签: c# asp.net-core entity-framework-core

我正在web API projectEntity framework 2.2的{​​{1}}上工作。我的要求是,当我们向数据库添加新表时,模型应在运行时更新。我知道如何使用Package Manager Console执行此操作,但是我需要以编程方式进行操作。我该如何实现?

我尝试在DB first approach中使用db.Database.Migrate();

我应该如何确认模型已更新?

1 个答案:

答案 0 :(得分:-1)

您需要编写一种可以使用c#执行powershell命令并在启动函数中调用该方法的方法

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>] 

使用--force属性来强制更新模型。 我不确定该解决方案是否可以与您配合使用