我可以使用MS发布到Azure,这在本地很好。
我让我的DB与https一起工作,在本地它工作得很好。在我发布之后,应用程序可以正常工作,除非我尝试访问DB的任何表。我得到了以下错误
找不到对象
dbo.CarType because it does not exist or you do not have permissions.
在此之前,我在Azure中创建了一个应用程序,并将其链接到一个MSSql。完成此操作后,我将得到已发布的设置(下面是pwd蒙版),然后在发布时导入该设置。顺便说一句,我使用过code-first migrations,但在发布之前,我确实重新设置了迁移,从一个干净的板子开始,然后添加了一个迁移:添加迁移初始值。
.PublishShettings文件:
<publishData>
<publishProfile profileName="CrJbApp - Web Deploy" publishMethod="MSDeploy" publishUrl="crjbapp.scm.azurewebsites.net:443" msdeploySite="CrJbApp" userName="$CrJbApp" userPWD="Jrdab2E8xl4HidsdaRLS6oR5rPEtFPG8cHd20SYl4WtqFjymdc5qgf6sCsrC" destinationAppUrl="http://crjbapp.azurewebsites.net" SQLServerDBConnectionString="Data Source=tcp:g2ojj5kj5y.database.windows.net,1433;Initial Catalog=CrJbDb;User Id=XXXXXXX@g2ojj5kj5y;Password=XXXXXX;" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites" targetDatabaseEngineType="sqlazuredatabase" targetServerVersion="Version100">
<databases>
<add name="DefaultConnection" connectionString="Data Source=tcp:g2ojj5kj5y.database.windows.net,1433;Initial Catalog=CrJbDb;User Id=XXXXXXX@g2ojj5kj5y;Password=XXXXXXX;" providerName="System.Data.SqlClient" type="Sql" targetDatabaseEngineType="sqlazuredatabase" targetServerVersion="Version100" />
</databases>
</publishProfile>
<publishProfile profileName="CrJbApp - FTP" publishMethod="FTP" publishUrl="ftp://waws-prod-am2-051.ftp.azurewebsites.windows.net/site/wwwroot" ftpPassiveMode="True" userName="CrJbApp\$CrJbApp" userPWD="Jrdab2E8xl4HidsdaRLS6oR5rPEtFPG8cHd20SYl4WtqFjymdc5qgf6sCsrC" destinationAppUrl="http://crjbapp.azurewebsites.net" SQLServerDBConnectionString="Data Source=tcp:g2ojj5kj5y.database.windows.net,1433;Initial Catalog=CrJbDb;User Id=XXXXXXXX@g2ojj5kj5y;Password=XXXXXXXX;" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites" targetDatabaseEngineType="sqlazuredatabase" targetServerVersion="Version100">
<databases>
<add name="DefaultConnection" connectionString="Data Source=tcp:g2ojj5kj5y.database.windows.net,1433;Initial Catalog=CrJbDb;User Id=XXXXXXX@g2ojj5kj5y;Password=XXXXXXXX;" providerName="System.Data.SqlClient" type="Sql" targetDatabaseEngineType="sqlazuredatabase" targetServerVersion="Version100" />
</databases>
</publishProfile>
</publishData>发布于 2016-03-23 16:25:09
这并不是直接回答你的EF迁移问题,而是一个替代的解决方案。我们尝试了迁移,但决定使用数据库项目和DACPAC进行部署。这对我们来说特别好。你应该试试。
http://dotnetcatch.com/2016/02/10/deploying-a-database-project-with-msdeploy/
发布于 2016-03-29 08:47:55
谢谢你的帮助。我不能再加上一个“有用”的分数,因为我的声誉分数只有11个(可以说,是个走狗)。
但我发现我的问题是:我必须做两件事:-移除迁移(不是文件夹,只是迁移)。-在配置()构造函数上的Migrations/Configuration.cs中添加这一行: AutomaticMigrationDataLossAllowed = true;-在发布时,检查运行迁移的选项,以便运行Seed方法。
如果有人告诉我如何在给出的答案中添加有用的点,我会很感激的。
https://stackoverflow.com/questions/36147104
复制相似问题