.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)可用于包括特定的表
如果使用分部类并避免修改生成的代码,则在第二次运行时可以覆盖所有文件。