【发布时间】:2016-10-31 14:43:50
【问题描述】:
我正在使用 Entity Framework Core,并且一直致力于实现 Database-First 应用程序。最初的 Scaffold-DbContext 命令工作得很好,并且可以正确地创建我的所有实体,如果没有按照我想要的方式组织的话。这是一个 SQL Server 数据库,它使用模式来分解责任区域,我并不真正关心 Scaffold 只是将它们全部放入一个文件夹中的事实。
除此之外,我无法确定是否有办法在数据库更新后重新运行 Scaffold 以更新类。我能找到的最接近的是使用 -force 参数重新运行 Scaffold-DbContext 命令。但是,这也会覆盖我添加到 Context.cs 文件中的任何自定义代码,例如将连接字符串指向配置值而不是硬编码。
我查看了与this one 类似的其他几个问题,但它只讨论了最初的脚手架,而不是进一步的更新。
有没有办法手动编码任何未来的变化来做到这一点?如果没有它,EF Core 似乎会让数据库优先的方法变得毫无价值。
【问题讨论】:
-
对于您的架构注释,您可能想尝试这样的事情,其中“集成”是架构的名称:dotnet ef dbcontext scaffold "
" Microsoft.EntityFrameworkCore.SqlServer -c "IntegrationContext" --schema "集成" -f
标签: entity-framework entity-framework-core ef-database-first