如何以编程方式从ADO.Net实体模型创建数据库?

时间:2010-06-09 20:44:13

标签: c# sql-server database ado.net-entity-data-model

我正在使用.Net Framework 4.0。我有一个实体模型(.edmx),我的程序中有一个菜单选项,用于连接现有数据库或创建新数据库。当用户选择创建新数据库时,我想从实体模型生成数据库和模式。知道怎么做吗?

2 个答案:

答案 0 :(得分:1)

不要这样做。它只适用于您的v1产品,一旦您计划发布v1.1,您就会意识到您无法将现有已部署的数据库升级到新架构。

相反,使用脚本来创建所有对象(包括索引,关系,约束,所有内容),并使用升级脚本来控制如何将每个模式版本升级到下一个版本,如Version Control and your Database中所述。

一个较弱的选择是在您的解决方案中安装Visual Studio数据库项目,因为VSDB项目具有升级功能,尽管基于差异。它们允许您使用vsdbcmd工具部署.dbschema文件,此工具可以区分和升级现有架构。您可以通过构建转换步骤将VSDB项目输出转换为EF模型(这不是一件容易的事,但可能)。

总的来说,不要将EF(或Linq)建模的诱惑视为模式的定义。你以后会支付更高的价格。

答案 1 :(得分:0)