2011-12-06 21 views
7

Fondamentalmente sto utilizzando la tecnica del codice Entity Framework First. Il codice che ho scritto funziona. Tuttavia, non riesco a trovare il database appena creato in SQL Server Management Studio. Dov'è? Quale ID dovrei utilizzare per visualizzare il database e le tabelle appena creati. Ho eseguito il seguente codice senza problemi: IsoLocationContext db = new IsoLocationContext();Impossibile trovare il nuovo database First Entity Framework del codice

Address address = new Address(); 

    address.TrackingNumber = "123"; 

    db.Addresses.Add(address); 
    db.SaveChanges(); 

Tuttavia, non riesco a trovare il database e le tabelle. Ho provato ad aggiornare l'elenco dei database.
Ho quindi aggiunto la seguente riga per verificare che i dati stessero effettivamente andando al database.

IList<Address> addresses = db.Addresses.ToList(); 

Anche l'elaborazione di cui sopra ha funzionato. Inoltre, ho arrestato e avviato il server e riavviato l'intera macchina. Giusto per assicurarsi che i dati non siano stati archiviati in memoria. Tutto ha funzionato come previsto. Ho anche eseguito il Profiler contro il server mentre stavo eseguendo l'app e non ho visto nessuna traccia in Trace.

Per favore dimmi, cosa mi manca. Questo mi sta facendo impazzire.

Inoltre sto usando la versione di SQL Server 2008 R2 Developer/Client.

risposta

11

prova a guardare la stringa di connessione in questo modo:

((IObjectContextAdapter)db).ObjectContext.Connection.ConnectionString 
+0

Grazie che mi ha segnalato nella giusta direzione. Sta scrivendo in SQL Express. Onestamente non pensavo di avere SQL Express sulla mia macchina. Ma, suppongo che l'installazione di VS 2010 l'abbia installata. Un'altra cosa strana è che ho specificato una stringa di connessione che non è SQL Express. Immagino che Code First ignori la stringa di connessione. Mi hai aiutato a risolvere il mio problema, ora devo capire come posso far sì che l'app scriva nel database che voglio. – Richard

+1

Quando si crea la classe DbContext, è possibile specificare una stringa di connessione nel costruttore della classe base. Qualcosa come 'public MyDbContext: DbContext {public MyDbContext(): base (" Data Source = myServerAddress; Initial Catalog = myDataBase; Integrated Security = SSPI; ") {}}' –

+0

Impressionante, grazie per il suggerimento – Richard

Problemi correlati