.net core 如何首先从表数据库更新模型

.net core 如何首先从表数据库更新模型,.net-core,entity-framework-core,ef-database-first,.net Core,Entity Framework Core,Ef Database First,我正在使用如下命令从数据库创建一个上下文: Scaffold-DbContext "Server=myConnection;Database=myDatabase;Persist Security Info=False;TrustServerCertificate=False;User ID=myUser;Password=myPassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir MyContext -f Scaffold-

我正在使用如下命令从数据库创建一个
上下文

Scaffold-DbContext "Server=myConnection;Database=myDatabase;Persist Security Info=False;TrustServerCertificate=False;User ID=myUser;Password=myPassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir MyContext -f
Scaffold-DbContext "Server=myConnection;Database=myDatabase;Persist Security Info=False;TrustServerCertificate=False;User ID=myUser;Password=myPassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir MyContext -Tables MyTable1 -f
之后,我更新了单个表名的结构
MyTable1
。 因此,我尝试使用
-Tables
选项重新运行命令,如下所示:

Scaffold-DbContext "Server=myConnection;Database=myDatabase;Persist Security Info=False;TrustServerCertificate=False;User ID=myUser;Password=myPassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir MyContext -f
Scaffold-DbContext "Server=myConnection;Database=myDatabase;Persist Security Info=False;TrustServerCertificate=False;User ID=myUser;Password=myPassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir MyContext -Tables MyTable1 -f
我只想更新
MyTable1
,并保持其他表的稳定

但是,在运行该命令之后,
Context
文件中的所有表都将被删除,并且它只在
OnModelCreating
上保留
MyTable1


非常感谢你

据我所知并阅读过关于EF Core的文章,数据库优先方法仅支持生成
上下文一次。从现有数据库创建
上下文后,必须使用迁移来修改数据库
scaffoldbcontext
将在每次执行时重新创建整个
context
。()
当然,您可以在每次数据库修改后重新创建一个新的
上下文
——就像链接文章中提到的那样,但我建议使用代码优先的方法。您可以更好地跟踪所有数据库更改,它支持您和同事同时处理一个项目

这是一本书。它用于定义生成过程中
上下文中包含哪些表

数据库架构中的所有表都通过 违约您可以通过以下方式限制哪些表是反向工程的: 指定模式和表

PMC中的
-schema
参数和CLI中的
--schema
选项可以 用于包含架构中的每个表

-Tables
(PMC)和
-table
(CLI)可用于包括特定的表


如果使用分部类并避免修改生成的代码,则在第二次运行时可以覆盖所有文件。