当数据库更改(如何添加新表)时,如何在数据库优先方法ASP.NET“核心”中更新模型

时间:2018-07-12 22:08:11

标签: c# asp.net-core-mvc

我正在使用ASP.NET Core 2.0 MVC模板,并且有几个问题:

i)我使用以下数据库中给出的数据库优先方法通过脚手架生成了模型 MSDN Documentation。但是现在我添加了一个新表(Employees),并希望将该表作为模型。但是当我运行此命令时:

Scaffold-DbContext "Server=server;Database=db;Trusted_Connection=True;" 
Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Table Employees - Force

然后覆盖我以前的dbcontext类(删除所有以前的模型,并仅在其中添加Employee)。如何仅添加与该新表相关的模型,而又仅保留以前的模型。

ii)同样,如果修改了与之对应的表(使用sql server添加了新列),我也想不出如何更新现有模型的方法。如果我进行脚手架安装,那么它将删除该模型中编写的所有代码早点上课。

除了MSDN(在基础数据库更改时不处理更新模型的MSDN)之外,我找不到用于数据库优先方法的任何适当文档。

谢谢

1 个答案:

答案 0 :(得分:0)

您必须删除第一个模型并创建一个新的,按比例缩放的所有所需内容

删除Model.Context.tt,Model.tt,Model.edmx

从Web.config删除实体字符串

以与第一个时间相同的方式创建EDMX和上下文文件

作为@Valuator,用于代码优先方法