无效的对象名称dbo.TableName

时间:2012-06-22 19:09:20

标签: asp.net-mvc-3 entity-framework tsql azure ef-code-first

我在这里收到以下错误:http://mvcbense.azurewebsites.net/

  

无效的对象名称'dbo.BlogPosts'。

这是一个使用Entity Framework Code First的MVC3应用程序。我已经查看了其他地方并且只发现了一些关于更改模式的内容,我认为这是dbo.的内容。

我对EF很新,但看起来好像EF为我创造了这些,所以我不确定该怎么做。查看我的本地SQL Server Express,所有表都有dbo.架构。为什么我能够在本地运行它们但未发布到Azure?

由于

3 个答案:

答案 0 :(得分:1)

问题是您尚未正确配置SQL Azure以首先迁移基于SQL Express的架构。当您创建基于本地SQL Server的ASP.NET Windows Azure网站时,您必须首先手动迁移配置为SQL Azure的内部部署数据库,然后将ASP.NET应用程序发布到Windows Azure网站。如果你不这样做,你的ASP.NET网站将无法正常工作。

基于异常,缺少初始数据库表,因此您需要从下面的列表中选择任何合适的数据库迁移方法,先迁移数据库,然后运行Windows Azure网站:

Migrating Databases to Windows Azure SQL Database (formerly SQL Azure)

答案 1 :(得分:0)

Stan在这里建议的一个更简单的解决方案是: http://social.msdn.microsoft.com/Forums/windowsazure/en-US/9c20a99c-80c9-4b1d-afa4-26b9b418f435/connect-to-sql-azure-via-sql-server-management-studio-failed

摘录:

  
      
  1. 取消弹出的第一个连接对话框。
  2.   
  3. 点击工具栏中的“新建查询”按钮(左上角)
  4.   
  5. 输入      服务器名称:完整服务器名称      登录:只是用户名(没有@ ...)
  6.   
  7. 在选项下,连接到数据库,我输入了TestDb1
  8.   
  9. 点击连接。
  10.   

答案 2 :(得分:0)

我也遇到了同样的问题,但在使用Database first方法时。我服务的/ service的主机web.config中的连接字符串不正确。我改变了连接字符串,但它确实有效。