33

Recibo este error cuando uso primero el código de Entity Framework 4.1. No puedo encontrar ninguna fuente de qué usar exactamente.Entity Framework Code First y Connection String Issue

Unable to load the specified metadata resource. 

<add name="DataContext" connectionString="metadata=res://*/GrassrootsHoopsDataContext.csdl|res://*/GrassrootsHoopsDataContext.ssdl|res://*/GrassrootsHoopsDataContext.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=myserver.com;Initial Catalog=MyDataBase;Persist Security Info=True;User ID=username;Password=password&quot;" providerName="System.Data.EntityClient" /> 
+1

Por cierto, creo que este tipo de connectionStrings con "metadatos .." es sólo para el primer modelo y base de datos primeros – Prokurors

Respuesta

65

Código EF primer lugar se puede utilizar cadena de conexión ordinaria si está utilizando SQL Server.

<add name="DataContext" connectionString="Data Source=myserver.com;Initial Catalog=MyDataBase;Persist Security Info=True;User ID=username;Password=password" providerName="System.Data.SqlClient" /> 
+0

Gracias, por último, una respuesta correcta. Solo desperdicié la mayor parte del día intentando encontrar o generar los archivos de metadatos ... – cdonner

+0

Gracias. Tuve el mismo problema, pero también tuve que corregir el 'ConnectionString' que estaba construyendo dinámicamente y pasando al' DbContext' a través del constructor del controlador. –

0

Si está creando cadena de conexión dinámica para el primer Código Marco de la entidad de lo que puede hacer utilizando sólo Generador de cadenas de conexión SQL como se indica a continuación.

public static string DynamicConnectionString(SqlConnectionStringBuilder builder) 
{ 
    SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(); 
    builder.DataSource = "ServerName"; 
    builder.InitialCatalog = "DatabaseName"; 
    builder.UserID = "UserId"; 
    builder.Password = "Password"; 
    builder.MultipleActiveResultSets = true; 
    builder.PersistSecurityInfo = true;  
    return builder.ConnectionString.ToString(); 
} 
Cuestiones relacionadas