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

问题描述 投票:1回答:1

我正在和web API project一起工作Entity framework 2.2作为DB first approach。我的要求是当我们向数据库添加新表时,模型应该在运行时更新。我知道如何使用Package Manager Console执行此操作,但我需要以编程方式执行此操作。我该如何实现这一目标?

我曾尝试在db.Database.Migrate();中使用startup class

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

c# asp.net-core entity-framework-core
1个回答
-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属性强制更新模型。我不确定这个解决方案能否适合你

© www.soinside.com 2019 - 2024. All rights reserved.