我正在和web API project
一起工作Entity framework 2.2
作为DB first approach
。我的要求是当我们向数据库添加新表时,模型应该在运行时更新。我知道如何使用Package Manager Console执行此操作,但我需要以编程方式执行此操作。我该如何实现这一目标?
我曾尝试在db.Database.Migrate();
中使用startup class
。
我该如何确认模型已更新?
你需要编写一个可以用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属性强制更新模型。我不确定这个解决方案能否适合你