我正在使用 .Net Framework 4.0。我有一个实体模型 (.edmx),我的程序中有一个菜单选项,用于连接到现有数据库或创建新数据库。当用户选择创建新数据库时,我想从实体模型中生成数据库和模式。知道怎么做吗?
问问题
975 次
2 回答
1
不要这样做。它只适用于您的 v1 产品,一旦您计划发布 v1.1,您就会意识到您无法将现有部署的数据库升级到新模式。
相反,使用脚本来创建所有对象(包括索引、关系、约束、一切)并使用升级脚本来控制如何将每个模式版本升级到下一个版本,如版本控制和数据库中所述。
较弱的替代方法是在您的解决方案中使用 Visual Studio 数据库项目,因为 VSDB 项目具有升级功能,尽管基于差异。它们允许您使用vsdbcmd工具部署 .dbschema 文件,并且该工具可以区分和升级现有架构。您可以通过构建转换步骤将 VSDB 项目输出转换为 EF 模型(这不是微不足道的,但可能)。
总的来说,不要被 EF(或 Linq)建模作为架构的主要定义的诱惑。你以后会付出更大的代价。
于 2010-06-09T23:52:08.723 回答
0
于 2010-06-09T20:51:36.010 回答