first - Palabra clave no soportada: "origen de datos" que inicializa Entity Framework Context
entity framework connection string sql server (4)
Estoy inicializando el contexto de Entity Framework Object, 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 desde 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?
La verdadera razón por la que recibía este error es por el "
valores en su cadena de conexión.
Si los reemplaza con comillas simples, funcionará bien.
http://blogs.msdn.com/b/rickandy/archive/2008/12/09/explicit-connection-string-for-ef.aspx
(Publicado para que otros puedan obtener la solución más rápido que yo).
Lo arreglé cambiando a EntityClient
nuevo a SqlClient
, aunque estaba usando Entity Framework.
Así que mi cadena de conexión completa estaba en el formato:
<add name="DefaultConnection" connectionString="Data Source=localhost;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx" providerName="System.Data.SqlClient" />
Lo creas o no, el cambio de nombre de LinqPad.exe.config a LinqPad.config resolvió este problema.
Parece que falta el valor providerName="System.Data.EntityClient"
. ¿Seguro que tienes todo?