33

Viene visualizzato questo errore quando si utilizza il codice Entity Framework 4.1. Non riesco a trovare alcuna fonte di cosa esattamente da usare.Entity Framework Code First e 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

Btw penso che questo tipo di connectionStrings con "metadati .." è solo per il modello primo e del database prima – Prokurors

risposta

65

Per EF Codice primo luogo è possibile utilizzare stringa di connessione normale se si utilizza 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

Grazie, infine, una risposta corretta. Ho solo sprecato la parte migliore della giornata provando la ricerca o generando i file di metadati ... – cdonner

+0

Grazie. Ho avuto lo stesso problema, ma ho anche dovuto correggere 'ConnectionString' che stavo costruendo e passando dinamicamente a' DbContext' tramite il costruttore del controller. –

0

Se si sta creando una stringa di connessione dinamica per Code First Entity Framework di quella che si può fare usando solo Sql Connection String Builder come indicato di seguito.

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(); 
} 
Problemi correlati