2012-11-14 9 views
6

cerco di aggiungere entità-quadro a consolare applicazione: premo "Add New Item" e enter image description hereCome aggiungere entità-quadro per consolare applicazione (le immagini sono inclusi)

poi enter image description here

poi

enter image description here

enter image description here

enter image description here

enter image description here

poi ho aggiunto il codice:

class Program 
    { 
     static void Main(string[] args) 
     { 
      try 
      { 
       Database1Entities db = new Database1Entities(); 
       db.AddToTableTest(new TableTest { name = "name" }); 
       db.SaveChanges(); 

       int count = db.TableTest.Count(); 
       int ui = 9 + 0; 
      } 
      catch (Exception e) 
      { 

      } 
     } 
    } 

non dà errore, ma non vedo alcuna modifica nel database. Ho descritto meglio il problema here

+4

Come fai a sapere che non dà errore se stai ingoiando l'Eccezione? –

+1

Ho inserito il punto di interruzione –

+1

Dovresti lasciarlo andare fino a quando non sei sicuro di averlo funzionato. Se hai un 'try/catch', allora scoprirai solo l'eccezione al blocco catch. Se non lo hai affatto, ma stai eseguendo il debug, troverai invece informazioni sulla riga errata, in modo che tu possa vedere cosa c'è che non va. (Esistono opzioni in VS per modificare questo comportamento, ma quello è l'impostazione predefinita) – Bobson

risposta

3

Ho fatto gli stessi passaggi per configurare un modello EF. il tuo file database.mdf ha il Copy to Output Directory impostato su Copy always, ciò significa che ogni volta che premi F5 (crea o esegui il debug della tua app) il file viene sostituito da quello vuoto sul tuo progetto.

La modifica di Copy to Output Directory nella finestra Proprietà del file mdf dovrebbe risolvere il problema.

Se si utilizza Copy if newer si stanno andando a persistere eventuali modifiche sui contenuti del database fino a quando non si modifica il database (mdf) stesso.

Con Do not copy qualsiasi modifica al file mdf non si rifletterà sull'applicazione e probabilmente genererà problemi con EF.

Per questo scenario si consiglia di utilizzare Copy if newer e inserire i dati di base nel file mdf in modo da renderlo sempre disponibile.

+0

Ho provato diverse combinazioni, e Copia se più recente. ma quando chiudo la connessione al database e poi lo aggiorna, conta ancora = 1 –

+0

cosa intendi per aggiornarlo? per favore usa qualcosa di simile e incolla i tuoi risultati: http://pastebin.com/MdwgeHKn –

+0

I risultati sono semplici. Se premo F5 5 volte, conta = 5. ma se chiudo il progetto e lo apro e poi preme F5, il conteggio sarà = 1. Quindi penso, hai ragione, il database è sostituito da nuovo. Ma come fermarlo? –