update mvc consulta asp.net-mvc linq-to-sql

asp.net mvc - mvc - System.Data.SqlClient.SqlException: Nombre de objeto no válido ''dbo.Projects''



mvc linq select (9)

Mi aplicación MVC está devolviendo SqlExceptions al intentar acceder a cualquier tabla en mi base de datos.

Detalles de la excepción: System.Data.SqlClient.SqlException: Nombre de objeto no válido ''dbo.Projects''.

Mi aplicación nos linq para la capa de datos.

Si utilizo un archivo DLL antiguo, funciona bien, (por lo que no parece ser un problema con la base de datos) solo este último archivo DLL que he cargado.

detalles

[SqlException (0x80131904): nombre de objeto no válido ''dbo.Projects''.]
System.Data.SqlClient.SqlConnection.OnError (excepción SqlException, boolean breakConnection) +1950890
System.Data.SqlClient.SqlInternalConnection.OnError (excepción SqlException, boolean breakConnection) +4846875
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) 194 System.Data.SqlClient.TdsParser.Run (runBehavior RunBehavior, SqlCommand cmdHandler, SqlDataReader corriente de datos, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 2392
System.Data.SqlClient.SqlDataReader.ConsumeMetaData () +33
System.Data.SqlClient.SqlDataReader.get_MetaData () +83
System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954
System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, método String, resultado DbAsyncResult) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, método String) +32
System.Data.SqlClient.SqlCommand.ExecuteReader (Comportamiento CommandBehavior, método String) +141
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader (Comportamiento CommandBehavior) +12 System.Data.Common.DbCommand.ExecuteReader () +12
System.Data.Linq.SqlClient.SqlProvider.Execute (consulta de expresión, QueryInfo queryInfo, IObjectReaderFactory factory, Object [] parentArgs, Object [] userArgs, ICompiledSubQuery [] subQueries, Object lastResult) +975
System.Data.Linq.SqlClient.SqlProvider.ExecuteAll (Consulta de expresión, QueryInfo [] queryInfos, IObjectReaderFactory factory, Object [] userArguments, ICompiledSubQuery [] subQueries) +113
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute (consulta de expresión) +344
System.Data.Linq.DataQuery 1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +35 System.Linq.Buffer 1..ctor (IEnumerable 1 source) +247 System.Linq.<GetEnumerator>d__0.MoveNext() +108
System.Linq.Buffer
1 source) +247 System.Linq.<GetEnumerator>d__0.MoveNext() +108
System.Linq.Buffer
1 source) +247 System.Linq.<GetEnumerator>d__0.MoveNext() +108
System.Linq.Buffer
1..ctor ( 1 source) +259
System.Linq.<GetEnumerator>d__0.MoveNext() +108
System.Collections.Generic.List
IEnumerable 1 source) +259
System.Linq.<GetEnumerator>d__0.MoveNext() +108
System.Collections.Generic.List
1 source) +259
System.Linq.<GetEnumerator>d__0.MoveNext() +108
System.Collections.Generic.List
1 source) +259
System.Linq.<GetEnumerator>d__0.MoveNext() +108
System.Collections.Generic.List
1..ctor (IEnumerable 1 collection) +7665172 System.Linq.Enumerable.ToList(IEnumerable 1 fuente) +61 Mezza_crm.Controllers.ProjectsController.GetProjectList (NameValueCollection form) en C: / mezcazazocultivaria.com / Controllers / ProjectsController.cs: 164 Mezza_crm.Controllers.ProjectsController.List () en C: / mezza_crm / mezza_crm / Controllers / ProjectsController.cs: 53
lambda_method (ExecutionScope, ControllerBase, Object []) +39
System.Web.Mvc.ActionMethodDispatcher.Execute (controlador ControllerBase, objeto [] parámetros) +17
System.Web.Mvc.ReflectedActionDescriptor.Execute (ControllerContext controllerContext, IDictionary 2 parameters) +178
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2 parameters) +178
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2 parameters) +178
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2 parámetros) +24
System.Web.Mvc. <> C__DisplayClassa.b__7 () +52 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter (filtro IActionFilter, ActionExecutingContext preContext, Func 1 continuation) +254
System.Web.Mvc.<>c__DisplayClassc.<InvokeActionMethodWithFilters>b__9() +19 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList
1 continuation) +254
System.Web.Mvc.<>c__DisplayClassc.<InvokeActionMethodWithFilters>b__9() +19 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList
1 continuation) +254
System.Web.Mvc.<>c__DisplayClassc.<InvokeActionMethodWithFilters>b__9() +19 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList
Víctima.
System.Web.Mvc.ControllerActionInvoker.InvokeAction (ControllerContext controllerContext, String actionName) +399
System.Web.Mvc.Controller.ExecuteCore () +126
System.Web.Mvc.ControllerBase.Execute (RequestContext requestContext) +27 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute (RequestContext requestContext) +7
System.Web.Mvc.MvcHandler.ProcessRequest (HttpContextBase httpContext) +151 System.Web.Mvc.MvcHandler.ProcessRequest (HttpContext httpContext) +57
System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest (HttpContext httpContext) +7
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +181 System.Web.HttpApplication.ExecuteStep (IExecutionStep step, Boolean & completedSynchronously) +75


¿Tiene acceso al servidor SQL que está consultando? ¿Puedes ver una tabla o vista llamada dbo.Projects allí? Si no, ese sería un buen lugar para mirar.

Linq to SQL crea un mapa de objetos entre la base de datos y la aplicación. Si su nueva DLL que está implementando ya no coincide con la base de datos, entonces este es el tipo de error que espera obtener.

¿Es posible que tenga diferentes esquemas de base de datos entre su entorno de desarrollo y el entorno de implementación?


Compruebe el parámetro del catálogo inicial en su cadena de conexión. Es posible que su código esté buscando en la base de datos incorrecta el objeto Proyectos.

Por ejemplo, si tiene una configuración de sincronización de la base de datos de tal manera que solo se transfiera un subconjunto de las tablas de la base de datos maestra, puede encontrar este error si Linq to SQL espera que todas las tablas estén en la base de datos a la que apunta la cadena de conexión. .


El problema que tuve fue porque hice una base de datos en mi LocalDb.
Si ese es el caso, entonces tienes que escribir es como se muestra a continuación:

"SELECT * FROM <DatabaseName>.[dbo].[Projects]"

Reemplace con su nombre de base de datos.
Probablemente también puedas soltar el "[]"


Elimine la tabla _MigrationHistory en (yourdatabseName> Tables> System Tables) si ya tiene en su base de datos y luego ejecute el siguiente comando en la consola del administrador de paquetes

PM> update-database


Esto puede deberse a un nombre de tabla incorrecto desde donde está obteniendo los datos. Verifique el nombre de la tabla que mencionó en el archivo asmx y la tabla creada en la base de datos.


La causa de este problema podría ser una configuración de propiedad de la base de datos (Sql2008R2 con .NET4).

  • El problema es reproducible a voluntad cuando se cambia el valor de COLLACIÓN de una base de datos.

Para mostrar COLLLATION, use el SQL Server Mgmt Studio.

  • Haga clic con el botón derecho en la base de datos y seleccione Propiedades -> General, luego busque en Mantenimiento el valor COLLACIÓN

Para cambiar la COLLACIÓN, (todavía) use el Sql Server Mgmt Studio.

  • Haga clic derecho en la base de datos y seleccione Propiedades -> Opciones, desde allí, puede cambiar el valor de COLLACIÓN.

Si está en esa fase de desarrollo donde tiene un método dentro de su clase de contexto que crea los datos de prueba para usted, no lo llame a su constructor, intentará crear esos registros de prueba mientras aún no tenga tablas. Solo compartiendo mi error ...


Si usa dos bases de datos, puede agregar otro DataClasses.dbml y asignar la segunda base de datos en él.
Funciona.


Yo tenía el mismo error. La causa fue que había creado una tabla con un esquema incorrecto (debería ser [dbo] ). Hice los siguientes pasos:

  1. Solté todas las tablas que no tienen el prefijo "dbo".

  2. Creé y ejecuté esta consulta:

CREATE TABLE dbo.Cars(IDCar int PRIMARY KEY NOT NULL,Name varchar(25) NOT NULL, CarDescription text NULL) GO