无效的对象名称dbo.MenuItems

问题描述:

我开发了一个使用asp.net mvc 3的站点并首先使用ef代码生成数据库。脚手架使用内置的sql压缩数据库在本地机器上正常工作。然后我用一次点击web部署到托管公司,我开始得到下面的错误。如果您在请教之前遇到过这个问题。无效的对象名称dbo.MenuItems

[SqlException (0x80131904): Invalid object name 'dbo.MenuItems'.] 
    System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +404 
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +412 
    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1363 
    System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +59 
    System.Data.SqlClient.SqlDataReader.get_MetaData() +118 
    System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +6387873 
    System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +6389442 
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +538 
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +28 
    System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +256 
    System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +19 
    System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) +553 

[EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details.] 
    System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) +10646103 
    System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute(ObjectContext context, ObjectParameterCollection parameterValues) +11488485 
    System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) +11120473 
    System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +47 
    System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +382 
    System.Linq.Enumerable.ToList(IEnumerable`1 source) +80 
    Bonappetit.Controllers.MenuItemsController.Index() in c:\Bonappetit\Bonappetit\Controllers\MenuItemsController.cs:21 
    lambda_method(Closure , ControllerBase , Object[]) +79 
    System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +264 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +39 
    System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +129 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +826266 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +314 
    System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +825488 
    System.Web.Mvc.Controller.ExecuteCore() +159 
    System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +335 
    System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62 
    System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20 
    System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +54 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +469 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375 

你的代码试图访问一个对象不存在

可能的原因

1)不创建你的表在服务器

2 /缴费)您没有连接到正确的数据库。

检查这两个,你将处于一个良好的状态进一步进行。

+0

我相信我连接到正确的数据库,所以它必须是选项(1)..主机服务器上的数据库是空的,即使我做了部署..我配置发布设置复制数据和架构从我的本地数据库到主机数据库..但是,当我检查主机数据库它仍然是完全空的..我应该手动迁移架构到主机数据库? ..然后点击一下网页,点什么? – user1261952 2012-03-13 20:04:16