【发布时间】:2023-03-16 21:49:02
【问题描述】:
我正在使用 ASP.NET core 2.0 MVC 模板并且有几个问题:
i)我使用数据库优先方法通过脚手架生成模型 MSDN Documentation。但现在我添加了一个新表(员工)并希望将该表作为模型包含在内。但是当我运行这个命令时:
Scaffold-DbContext "Server=server;Database=db;Trusted_Connection=True;"
Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Table Employees - Force
然后它会覆盖我以前的 dbcontext 类(删除所有以前的模型并在其中只添加 Employee)。我怎样才能只添加与该新表相关的模型,只保留以前的模型。
ii)类似地,如果对应的表被修改(使用 sql server 添加新列),我不知道如何更新现有模型。如果我脚手架,那么它会删除在该模型中编写的所有代码早点上课。
我找不到任何合适的数据库优先方法文档,除了 MSDN 文档,它不处理底层数据库更改时更新模型。
谢谢
【问题讨论】:
-
无法从数据库中更新现有的脚手架。 Entity Core 不支持“数据库优先”的方法。您最初应该将
Scaffold-DbContext用于现有数据库,然后再使用 Code-First Migrations。 -
感谢@Valuator
标签: c# asp.net-core-mvc