我可以从 edmx 模型更新数据库表吗?
Posted
技术标签:
【中文标题】我可以从 edmx 模型更新数据库表吗?【英文标题】:I can update database table from edmx model? 【发布时间】:2021-04-08 07:56:00 【问题描述】:是否可以从 edmx 模型更新数据库表,例如,如果我在 edmx 图表中创建一个新字段到一个表,我想在数据库中更新相应的映射表添加这个新字段......在 Visual Studio 菜单中我找到了声音“从数据库更新模型”和“从模型创建数据库”,但我没有找到“从模型更新数据库”...
【问题讨论】:
为什么不将字段添加到数据库表中,然后更新 EDMX,这是预期的工作流程? 【参考方案1】:在 EF EDMX“模型优先”工作流程中,您始终会生成完整的数据库 DDL 脚本,对于增量更改,请使用 SSDT 等架构比较工具来创建更改脚本。
参见例如https://docs.microsoft.com/en-us/ef/ef6/modeling/designer/workflows/model-first#5-dealing-with-model-changes
这不是一个非常流行或有用的工作流程,而且从未构建过用于增量更新的工具。 广大大多数 EDMX 用户在没有自定义 EDMX 的情况下执行数据库优先的工作流程。
但是您真的应该停止使用 EDMX。图形设计器似乎开始更简单,但从长远来看,使用基于代码的映射更简单。
【讨论】:
【参考方案2】:我不相信 Edmx(数据库拳头)以这种方式工作,至少,开箱即用。您需要先使用代码,然后启用迁移。 Edmx 只不过是映射到您的数据,与迁移无关。 我相信有一种方法可以首先使用 Visual Studio 自动生成代码……就像 Edmx 一样。
【讨论】:
以上是关于我可以从 edmx 模型更新数据库表吗?的主要内容,如果未能解决你的问题,请参考以下文章