我正在使用 ASP.net-MVC 开发一个项目,由于它是模型优先,它会自动生成数据库的 .mdf 和 .ldf 文件。数据库是2014版本的。当我想将其上传到主机服务器上时,他们告诉我他们不支持2012以上版本。所以我需要将数据库从2014版本迁移到2012版本。
我的数据库没有那么大。我关注这篇文章
https://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/
一步一步,但我的数据库版本没有发生差异。它仍然是产品版本:12.0.2000.8
非常感谢您的帮助。谢谢
最佳答案
您基于模型优先开发数据库,因此您可以完全控制生成/修改数据库。
您不需要迁移数据库,但在 Visual Studio 中您可以在 sql server 2012 中重新生成数据库。
要在 sql 2012 中生成数据库,请执行与在 Visual Studio 中为 sql 2014 生成数据库相同的步骤,仅供提醒:
- 在 EDMX 设计界面中,右键单击 -> 从模型生成数据库 按照向导操作并创建到 sql2012 的新连接。
向导结束时,将在 sql server 2012 中创建一个新数据库。
Sql 脚本也会自动生成,例如model.edmx.sql 包括实体和关联的所有 DDL,...
在VS中执行该脚本,您可以选择连接并在新的数据库服务器2012中执行该脚本。
对于数据,您可以使用 bcp 实用程序或 SSMS 中的导出向导。
更新:
在模型优先方法中,您创建一个图表,该图表将自动转换为编码模型,并且该模型保存在 EDMX(xml 文件)中。
如果项目中没有EDMX,则意味着您没有使用ModelFirst方法,但您可能使用了MVC项目的模板,该模板在项目开始时自动生成数据库。
模型优先的好处是易于更改以及开发环境和生产之间的同步以应对 future 的变化。
即使您创建了数据库,您也可以重新设计您的项目并添加 ModelFirst 方法。
从那里您可以在 sql server 2012 中重新创建数据库。 我描述了构建模式的分步教程:
Building DataModel from Existing Database in EntityFramework 6 For ModelFirst Approach
关于sql-server - 将SQL数据库从2014版本迁移到2012版本 - mvc codefirst,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39806034/