问题描述
编写了一小段代码用来连接数据库并创建数据库及表格(数据库和表格事先并不存在,需要调用代码后自动建立数据库及表格),按照教程操作的,可是总会返回错误,我仔细核对过,没有任何与教程不一样的地方。下面是代码:namespaceMvcMovie.Controllers{publicclassMoviesController:Controller{MovieDBContextdb=newMovieDBContext();////GET:/Movies/publicActionResultIndex(){varmovies=frommindb.Movieswherem.ReleaseDate>newDateTime(1984,6,1)selectm;returnView(movies.ToList());}publicActionResultCreate(){returnView();}publicActionResultCreate(MovienewMovie){if(ModelState.IsValid){db.Movies.Add(newMovie);returnRedirectToAction("Index");}elsereturnView(newMovie);}}}xml.config部分代码:<addname="MovieDBContext"connectionString="DataSource=.SQLEXPRESS;InitialCatalog=Movies;PersistSecurityInfo=True;UserID=aaa;Password=aaaaaaa"providerName="System.Data.SqlClient"/>以下是报错内容:
解决方案
解决方案二:
这样也不好定位,建议你还是调试一下,看看报错的信息,只要知道了错误信息,也容易解决问题了
解决方案三:
引用1楼u012012237的回复:
这样也不好定位,建议你还是调试一下,看看报错的信息,只要知道了错误信息,也容易解决问题了
这是调试的堆栈信息:“/”应用程序中的服务器错误。值不能为null。参数名:source说明:执行当前Web请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.ArgumentNullException:值不能为null。参数名:source源错误:行17:publicActionResultIndex()行18:{行19:varmovies=frommindb.Movies行20:wherem.ReleaseDate>newDateTime(1984,6,1)行21:selectm;源文件:E:visualstudioprojectMvcMovieMvcMovieControllersMoviesController.cs行:19堆栈跟踪:[ArgumentNullException:值不能为null。参数名:source]System.Linq.Queryable.Where(IQueryable`1source,Expression`1predicate)+2639660MvcMovie.Controllers.MoviesController.Index()inE:visualstudioprojectMvcMovieMvcMovieControllersMoviesController.cs:19lambda_method(Closure,ControllerBase,Object[])+96System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBasecontroller,Object[]parameters)+17System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContextcontrollerContext,IDictionary`2parameters)+208System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContextcontrollerContext,ActionDescriptoractionDescriptor,IDictionary`2parameters)+27System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()+55System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilterfilter,ActionExecutingContextpreContext,Func`1continuation)+263System.Web.Mvc.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14()+19System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContextcontrollerContext,IList`1filters,ActionDescriptoractionDescriptor,IDictionary`2parameters)+191System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContextcontrollerContext,StringactionName)+343System.Web.Mvc.Controller.ExecuteCore()+116System.Web.Mvc.ControllerBase.Execute(RequestContextrequestContext)+97System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContextrequestContext)+10System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5()+37System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0()+21System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult_)+12System.Web.Mvc.Async.WrappedAsyncResult`1.End()+62System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d()+50System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Actionf)+7System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Actionaction)+22System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResultasyncResult)+60System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResultresult)+9System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+8836977System.Web.HttpApplication.ExecuteStep(IExecutionStepstep,Boolean&completedSynchronously)+184版本信息:Microsoft.NETFramework版本:4.0.30319;ASP.NET版本:4.0.30319.1
解决方案四:
你调试一下试试