在Azure上使用LocalDb MDF文件

我正在开发一个ASP.NET MVC网站,我想在Azure网站上托pipe。 在开发过程中,我在我的App_Data目录中使用了一个MDF文件,其连接string如下所示:

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=MyApp;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\MyApp.mdf;MultipleActiveResultSets=true" providerName="System.Data.SqlClient" /> 

为了在Azure上试用它,我希望我可以保留这个连接string,并简单地将我的MyApp.mdf FTP到Azure上的App_Data文件夹中,因为它是用我想使用的示例数据设置的。 但是,当我试图访问我的网站时,我遇到了以下错误:

与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:SQLnetworking接口,错误:52 – 无法findLocalDB安装。确认SQL Server Express已正确安装,并且启用了LocalDBfunction。

我的问题是,有没有办法可以运行我的Azure网站连接到我的App_Data文件夹中的MDF文件,或者我被迫使用Azure SQL数据库?

您不能在App_Data中使用.mdf文件,但是您不必强制使用SQL Azure – 您可以使用SQL Server Compact。 如果使用Code First Migrations,则从LocalDB到Compact的部署非常简单; 否则在部署之前必须迁移到SQL Server Compact。 如果您决定使用Compact,那么您必须确保数据库引擎已经部署完毕,您可以在本教程中find相关说明:

http://www.asp.net/mvc/tutorials/deployment/deployment-to-a-hosting-provider/deployment-to-a-hosting-provider-deploying-sql-server-compact-databases-2-of- 12

您将不得不使用SQL Azure来使用网站/云服务function。

如果你还没有,你可能会想看看Web部署的web.config转换,以减轻发布的经验。

http://msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx

http://www.hanselman.com/blog/TinyHappyFeatures3PublishingImprovementsChainedConfigTransformsAndDeployingASPNETAppsFromTheCommandLine.aspx

您可以通过pipe理工具将数据导入到SQL Azure数据库中,或者如果您使用的是SQL Server 2012,则可以通过门户导入/导出数据。