通过ASP MVC模型连接到数据库很奇怪

本文关键字:数据库 连接 ASP MVC 模型 通过 | 更新日期: 2023-09-27 18:35:16

当我尝试通过通用存储库获取模型值时,我遇到了休耕异常。

2014-12-23 14:32:20 ====> System.Data.EntityCommandExecutionException: Wystąpił błąd podczas wykonywania definicji polecenia. Aby uzyskać szczegółowe informacje, zobacz wyjątek wewnętrzny. ---> System.Data.SqlClient.SqlException: Invalid object name 'dbo.SurveyUserParameters1'.
   w System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   w System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   w System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   w System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   w System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   w System.Data.SqlClient.SqlDataReader.get_MetaData()
   w System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   w System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
   w System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
   w System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   w System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   w System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   w System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
   w System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
   --- Koniec śladu stosu wyjątków wewnętrznych ---
   w System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
   w System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
   w System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
   w System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
   w System.Data.Entity.Internal.Linq.InternalQuery`1.GetEnumerator()
   w System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator()
   w System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator()
   w System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   w System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)

我试图通过遵循 lambda 表达式来度过难关

var surveyUserParameters = unitOfWork.SurveyUserParameters.Get() .Where(x => x.SurveyId == surveyId && x.UserEmail == User.Identity.Name) .SingleOrDefault();'

问题是异常说有名为 dbo 的无效对象。调查用户参数1.我的表名是 dbo。SurveyUserParameters,并且应用程序中不可能存在模型,变量或名为dbo的东西。调查用户参数1.我不知道发生了什么,我会从你那里得到一些帮助。

通过ASP MVC模型连接到数据库很奇怪

将 ctrl+f 放在您的整个解决方案上,然后查找SurveyUserParameters1 。可能是您的模型以某种方式搞砸了。

尝试将其重命名回SurveyUserParameters,或从数据库重新生成模型。

相信我,它就在某个地方:-)。

检查连接字符串是否具有 SurveyUserParameters1。然后更改它。如果没有,您可以将数据库表的添加与模型加倍。也检查一下。