我目前正在使用实体框架作为db后端的asp.mvc应用程序,它将在ms azure平台上运行。
在我的开发机器上,我正在运行一个sqlexpress实例,它托管我的开发数据库(就像我说可能应用程序通过实体框架连接到它)。
通过实体框架数据库生成向导将数据库模式从我的本地sqlexpress部署到sql azure非常简单(无论出于何种原因,向导总是想要创建一些我在生成的sql文件中手动更正的聚簇索引)。
但我无法找到保存数据的方法!自动生成的sql脚本总是转储我的所有表并创建新表...这对于初始设置是可以的,但不能升级现有数据库。
必须有一个很好的方法来执行没有dataloss的架构更新...请帮忙!我已经尝试过sql management studio(r2)和SQLAzureMW(在codeplex上可用)......但他们没有做到这一点:(
请不要告诉我,我必须编写自己的工具来编写代码!
寻求帮助
THX
编辑:这是我现在的表现
我使用EF迁移向导为我的本地SQL Express创建的SQL脚本,并自行修改它们以与SQL Azure兼容。人们可能认为并且工作完美的工作量较少:)
答案 0 :(得分:4)
您是否尝试使用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中遇到了什么问题?
答案 1 :(得分:3)
这听起来与this question类似,唯一的答案是“等待下一版本的实体框架”。我承认我不使用EF,但是我使用SQL Server Management Studio和脚本对旧学校表进行了更改。 ALTER TABLE
FTW。
编辑:如果您无权访问SQL Server Management Studio,则新版本的SQL Azure门户包含一个基于Silverlight的应用程序,允许您运行查询和脚本
答案 2 :(得分:3)
RedGate因出于部署目的而以SQL服务器同步和数据同步而闻名。
他们的DataCompare和SchemaCompare产品中的v9 beta与SQL Azure兼容。我一直在成功地使用它们并且很喜欢它们。
如果您是小型企业,购买时价格昂贵。