Interessante articolo su come ovviare al problema della stringa di connessione al db per progetti che utilizzano LINQ to SQL.
Un uso non corretto della stringa, soprattutto nel caso che il dbml sia integrato in una dll, genera questo messaggio :
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)
La soluzione è disattivare la creazione automatica della stringa di connessione all'atto dell'aggiunta del file dbml, rimuovendola manualmente e impostando “Application Settings” a false.
In questo modo otterremo questo messaggio :
Error:
‘PageDataContext’ does not contain a constructor that takes ‘0′ arguments
A questo punto creata la nostra stringa di connessione così
public static string conn = ConfigurationManager.ConnectionStrings["myConnectionString"].ToString();
facendolo puntare allla connessione corrente specificata nel web.config corrente, e passandolo ad ogni inizializzazione dell'oggetto data context così:
PageDataContext db = new PageDataContext(conn);
A questo punto tutto dovrebbe funzionare...
Maggiori informazioni qui
0e6733b1-9139-43ea-9e5d-386441b8a46a|0|.0
asp.net, Tips
LINQ to SQL, asp.net, visual studio 2008, SQL Server