Estoy inicializando el contexto del objeto Entity Framework, y esto me da el error de palabra clave no compatible:
metadata=res://*/MainDB.csdl|res://*/MainDB.ssdl|res://*/MainDB.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Workspace\vs\Leftouch\Leftouch.Web\Data\Leftouch.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;App=EntityFramework"
Tomé la cadena de conexión directamente de web.config que estaba funcionando, y modifiqué solo la ruta al archivo (que configuré dinámicamente), y en lugar de usar el valor predeterminado, usé esta cadena de conexión explícitamente. ¿Qué podría causar este error?
entity-framework
connection-string
Can Poyrazoğlu
fuente
fuente

metadata=res:, entoncesres=somethingelsecon"toda la sintaxis del lugar, pero deberían estar muy contentos de no estar en la misma habitación que yo en este momento: - /Respuestas:
La verdadera razón por la que recibiste este error es por los
"valores en tu cadena de conexión.Si los reemplaza con comillas simples, funcionará bien.
https://docs.microsoft.com/archive/blogs/rickandy/explicit-connection-string-for-ef
(Publicado para que otros puedan obtener la solución más rápido que yo).
fuente
"es una secuencia de escape para una comilla porque es un carácter reservado en XML.Lo arreglé cambiando de
EntityClientnuevo aSqlClient, aunque estaba usando Entity Framework.Entonces mi cadena de conexión completa estaba en el formato:
fuente
Parece que le falta el
providerName="System.Data.EntityClient"bit. ¿Seguro que tienes todo?fuente
metadata=res://*/MainDB.csdl|res://*/MainDB.ssdl|res://*/MainDB.msl;provider=System.Data.SqlClient;provider name=System.Data.EntityClient;provider connection string="{0};App=EntityFramework"y ahora dice clave no encontrada: nombre del proveedor. También lo intenté enproviderName=...lugar deprovider name=también, pero no tuve suerte.EntityConnectionStringBuilderclase, y extrañamente, está funcionando ahora. Pero todavía no tengo idea de por qué no estaba aceptando mi cadena, incluso con sus adiciones.Lo creas o no, renombrar LinqPad.exe.config a LinqPad.config resolvió este problema.
fuente
Simplemente use \ "en su lugar", debería resolver el problema.
fuente
Asegúrese de tener
Data Sourcey noDataSourceen su cadena de conexión. El espacio es importante. Créeme. Soy un idiota.fuente