我目前正在开发一个使用实体框架作为数据库后端的asp.mvc应用程序,它将在微软的azure平台上运行。
在我的开发机器上,我运行了一个sqlexpress实例,它托管了我的开发数据库(正如我所说的,可能的应用程序通过实体框架连接到它)。
通过实体框架数据库生成向导将数据库模式从我的本地sqlexpress部署到sql azure非常容易(不管是什么原因,向导总是想要创建一些聚集索引,我在生成的sql文件中手动更正这些索引)。
但是我想不出一个方法来保存我的数据!自动生成的sql脚本总是转储所有的表,并为初始设置创建新的ones...thats ok,但不会升级现有的数据库。
一定有一种很好的方法可以在没有dataloss...please帮助的情况下执行模式更新!我已经尝试过sql management studio (r2)和SQLAzureMW (在codeplex上可用)...but,它们不能完成这项工作:(
请不要告诉我,我必须编写自己的工具才能做到这一点!
寻找你的帮助
thx
编辑:我现在是这样做的
我使用EF迁移向导为我本地的SQL Express创建的SQL脚本,并自己修改它们以与SQL Azure兼容。是一个人可能认为并完美工作的更少的工作:)
发布于 2010-11-12 11:58:19
您是否尝试过使用BCP导出然后导入数据?我相信您应该能够使用BCP将数据从SQL Express实例导出到一个文件,然后将数据从该文件导入到SQL Azure。SQL Azure团队有一篇博客文章,描述了如何将BCP与SQL Azure - http://blogs.msdn.com/b/sqlazure/archive/2010/05/21/10014019.aspx结合使用。
此外,在未来,即将发布的SQL Azure Data Sync CTP2可能会为您提供帮助。
出于好奇心,你对SQLAzureMW有什么问题?
发布于 2010-11-12 12:08:01
这听起来类似于this question,唯一的答案是“等待实体框架的下一个版本”。我承认我不使用EF,但我使用SQL Server Management Studio和脚本以老式的方式对表进行更改。ALTER TABLE FTW。
编辑:如果您没有访问SQL Server Management studio的权限,则新版本的SQL Azure门户包含一个基于Silverlight的应用程序,允许您运行查询和脚本
发布于 2010-11-12 13:34:11
RedGate以SQL server同步和用于部署目的的数据同步而闻名。
他们在与SQL Azure兼容的DataCompare和SchemaCompare产品中推出了v9测试版。我已经成功地使用了这两个工具,并且非常喜欢它们。
如果你是一家小企业,它们在购买时是昂贵的。
http://www.red-gate.com/Azure
https://stackoverflow.com/questions/4161136
复制相似问题