tag route page net asp asp.net entity-framework connection-string

asp.net - page - asp route tag helper



fuente de datos no respaldada por palabra clave (6)

Estaba teniendo el mismo problema.
pero este código funciona bien, pruébalo.

<add name="MyCon" connectionString="Server=****;initial catalog=PortalDb;user id=**;password=**;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />

Tengo una aplicación asp.net-mvc con la base de datos de membresía predeterminada. Estoy accediendo a ella por ADO.NET Entity Framework.

Ahora quiero moverlo a IIS, pero aparecieron varios problemas. Tuve que instalar SQL Server Management Studio, crear una nueva base de datos, importar allí todos los datos del archivo .MDF anterior. Lo único que queda por hacer (hasta donde sé) es cambiar a la cadena de conexión. Sin embargo, no tengo mucha experiencia con esto y sigo recibiendo la palabra clave no compatible: ''fuente de datos''. excepción. Aquí está mi cadena de conexión:

<add name="ASPNETDBEntities" connectionString="Data Source=MONTGOMERY-DEV/SQLEXPRESS;Initial Catalog=ASPNETDB;Integrated Security=True;" providerName="System.Data.EntityClient" />

Alguna idea, que pasa?


Este problema puede ocurrir cuando hace referencia a sus cadenas de conexión web.config (o app.config) por índice ...

var con = ConfigurationManager.ConnectionStrings[0].ConnectionString;

La cadena de conexión basada en cero no siempre es la que se encuentra en su archivo de configuración, ya que hereda a los demás de forma predeterminada desde la pila .

Los enfoques recomendados son acceder a su conexión por nombre ...

var con = ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString;

o para borrar el elemento connnectionStrings en su archivo de configuración primero ...

<connectionStrings> <clear/> <add name="MyConnection" connectionString="...


Lo que tiene es una cadena de conexión válida de ADO.NET, pero NO es una cadena de conexión válida de Entity Framework.

La cadena de conexión EF se vería así:

<connectionStrings> <add name="NorthwindEntities" connectionString= "metadata=./Northwind.csdl|./Northwind.ssdl|./Northwind.msl; provider=System.Data.SqlClient; provider connection string=&quot;Data Source=SERVER/SQL2000;Initial Catalog=Northwind;Integrated Security=True;MultipleActiveResultSets=False&quot;" providerName="System.Data.EntityClient" /> </connectionStrings>

Te faltan todos los elementos metadata= y providerName= en tu cadena de conexión EF ... básicamente solo tienes lo que está contenido en la parte de la provider connection string del provider connection string .

El uso del diseñador de EDMX debe crear una cadena de conexión de EF válida para usted, en su web.config o app.config.

Bagazo

ACTUALIZACIÓN: OK, entiendo lo que intenta hacer: necesita una segunda cadena de conexión "ADO.NET" solo para usuarios de ASP.NET / base de datos de miembros. Su cadena está bien, pero el providerName está equivocado. Tendría que ser "System.Data.SqlClient". Esta conexión no usa ENtity Framework. No especifique el "EntityClient".

<add name="ASPNETMembership" connectionString="Data Source=MONTGOMERY-DEV/SQLEXPRESS;Initial Catalog=ASPNETDB;Integrated Security=True;" providerName="System.Data.SqlClient" />

Si especifica providerName=System.Data.EntityClient ==> cadena de conexión de Entity Framework (con los metadatos = y todo).

Si necesita y especifica providerName=System.Data.SqlClient ==> cadena de conexión ADO.NET SQL Server sin todas las adiciones de EF


Obtuve el mismo error, luego actualicé mi cadena de conexión de la siguiente manera:

<add name="EmployeeContext" connectionString="data source=*****;initial catalog=EmployeeDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />

Intenta esto, resolverá tu problema.


Sé que esta es una publicación anterior pero recibí el mismo error recientemente, por lo que vale la pena, aquí hay otra solución:

Por lo general, se trata de un error de cadena de conexión; compruebe el formato de la cadena de conexión, puede buscar ''entity framework connectionstring'' o seguir las sugerencias anteriores.

Sin embargo, en mi caso mi cadena de conexión estaba bien y el error fue causado por algo completamente diferente, así que espero que esto ayude a alguien:

  1. Primero tuve un error de EDMX : había una nueva tabla de base de datos en el EDMX y la tabla no existía en mi base de datos (lo curioso es que el error no era muy obvio porque no se mostraba en mi EDMX o ventana de salida, sino estaba guardado en Visual Studio en la ventana ''Error List'' debajo de ''Advertencias''). Resolví este error agregando la tabla faltante a mi base de datos. Pero, en realidad, estaba ocupado tratando de agregar un procedimiento almacenado y aún obtener el error de "fuente de datos", así que vea a continuación cómo lo resolví:

  2. Error de procedimiento almacenado : estaba intentando agregar un procedimiento almacenado y cada vez que lo añadí a través de la ventana de diseño de EDMX recibí un error de "fuente de datos". La solución fue agregar el procedimiento almacenado como en blanco (mantuve el nombre del archivo almacenado y la declaración, pero eliminé el contenido del proceso almacenado y lo reemplacé con ''seleccionar 1'' y lo reintenté añadiéndolo al EDMX). ¡Funcionó! Es de suponer que a EF no le gustaba algo dentro de mi proceso almacenado. Una vez que agregué el proc a EF, pude actualizar el contenido del proceso en mi base de datos a lo que quería que fuera y funciona, se resolvió el error de ''origen de datos''.

rareza


Tuve este problema cuando comencé a usar Entity Framework, sucedió cuando no cambié la antigua conexión del servidor SQL a la conexión EntityFrameWork.

Solución: en el archivo donde se realiza la conexión a través del archivo web.config "agregar nombre =" Entidades "connectionString = XYZ", asegúrese de que se refiere a la conexión correcta, en mi caso tuve que hacer esto

public static string MyEntityFrameworkConnection { get { return ConfigurationManager.ConnectionStrings["Entities"].ConnectionString; } }

llame a MyEntityFrameworkConnection siempre que se necesite establecer una conexión.

private string strConnection= Library.DataAccessLayer.DBfile.AdoSomething.MyEntityFrameworkConnection;

nota: la conexión en el archivo web.config se generará automáticamente al agregar el modelo de Entidad a la solución.