2011-10-26 18 views
20

Certo questa è una domanda davvero stupida, ma come faccio a collegare la mia app console C# a un'istanza di SQL Server?Come connettersi a SQL Server utilizzando LINQ to SQL?

Ho fatto questo un sacco di volte con le app Web C#, ma questa è la prima app per console che ho fatto.

L'unica origine dati che riesco a vedere (in VS 2010) è File di database di SQL Server: non riesco a vedere come connettersi a un'istanza SQL su un server diverso.

risposta

36

Passaggio 1: Aggiungere una connessione al server Explorer

enter image description here

Dopo di che si aggiunge, si dovrebbe vedere apparire sotto il server Exlporer linguetta sul lato sinistro dello schermo.

Fase 2: Aggiungi un LINQ to file SQL (.dbml) al progetto

enter image description here

Fase 3: Aprire il.file di dbml dal file explorer sul lato destro di Visual Studio

Passo 4: Aprire la connessione tramite il menu a discesa frecce sul tuo browser server in modo da poter vedere le tabelle che da utilizzare per le console App

Fase 5: trascinarli nell'area di progettazione (come si vede dalle linee gialle e il risultato di questa operazione nella casella verde)

enter image description here

Fase 6: Torna alla pagina cs per la console, istanziare, e mettersi al lavoro

enter image description here

EDIT:

La mia ipotesi è che si può mancare di server SQL dal computer. Controlla il tuo menu di avvio, hai cartella di Microsoft SQL Server con uno strumento di configurazione in esso come si vede qui ?:

enter image description here

+0

Cheers. È il passaggio 1 che sta causando un problema però. L'unica opzione disponibile in Origine dati è: "File di database Microsoft SQL Server (SqlClient)" e il pulsante Cambia è disattivato. Ho saltato un passaggio per abilitare "MS SQL Server (SqlClient)"? – Ben

+0

Vedere la parte inferiore della mia risposta per la modifica. – KreepN

+0

Sì, ho installato gli strumenti di SQL Server 2008. La cosa strana è che ho anche Visual Studio Web Developer Express, e funziona bene da qui. – Ben

1

volta creato l'applicazione di console, in Esplora soluzioni, scegliere Add New Item e si dovrebbe ottenere una finestra di dialogo simile a questa:

enter image description here

Quello che stai cercando è la Linq -to-SQL Classes che crea un file di modello *.dbml.

Per un'introduzione completa e approfondita a Linq-to-SQL, leggere la serie di blog Scott Guthrie's Using Linq to SQL (molti post). Queste cose si applicano a qualsiasi tipo di app che utilizza Linq-to-SQL per comunicare con SQL Server.

1

Sembra che si desideri creare un nuovo dbml LINQ to SQL nell'app della console e utilizzare Esplora server di Visual Studio come parte del processo.

Aggiungere un .dbml al progetto come da normale.

La finestra Esplora server in Visual Studio dovrebbe consentire di creare una nuova connessione. Assicurati di utilizzare SqlClient. Qui puoi inserire il nome dell'istanza del tuo SQL Server.

enter image description here

+0

L'unica opzione che ho sotto Data Source è: "Microsoft SQL Server file di database (SqlClient) "e il pulsante Cambia è disattivato. Ho saltato un passaggio per abilitare "MS SQL Server (SqlClient)"? – Ben

0

probabilmente si desidera utilizzare database separati per lo sviluppo e la distribuzione. Vorrei suggerire di inserire la stringa di connessione in un file di configurazione (app.config) e durante la creazione dell'oggetto modello DataContext passare la stringa di connessione al suo costruttore. Caricherò dal nuovo server quindi.

+3

Una buona raccomandazione - ma questo non risponde alla domanda - come aggiungere classi Linq-to-SQL a un'applicazione console ... –