2012-07-25 12 views
11

Ho una tabella mappata in Entity Framework che funziona in modo ottimale aggiungendo/aggiornando ed eliminando i record. Ho rimosso una colonna dal server SQL chiamato "Category", quindi ho ridisegnato la mia entità nel modello. Questo ha funzionato bene, la colonna è scomparso.Entity Framework: colonna non valida dopo aver rimosso la colonna

Ora, eseguo una query sulla tabella per aggiornare una riga e ottenere lo stesso errore, colonna "Categoria" non valida.

Questo è stato rimosso dalla tabella SQL e rimosso dall'entità, quindi è ancora alla ricerca di questa dannata colonna quando eseguo il seguente codice ??

using (Entities db = new Entities()) 
       { 
         var Voucher = (from vouchers in db.Vouchers 
           where vouchers.ID == ID 
           select vouchers).FirstOrDefault(); 

         if (Voucher != null) 
         { 
          Voucher.Status = (int)Vouchers.UI.Enums.VoucherStatus.Removed;       
          ret = db.SaveChanges() == 1; 
         } 
       } 

Ecco l'errore:

colonna non valido nome di 'Categoria'.

Ho pulito il codice, creato, ricostruito e aggiornato le enitti circa 100 volte.

Qualcuno ha qualche idea?

Grazie

+0

Hai già controllato la mappatura delle tabelle? –

+0

Sì, la colonna è stata rimossa completamente, se provo a fare Entity.Category non funzionerà come è stato rimosso – Funky

risposta

19

rimuovere la tabella dal file * .edmx, e quindi aggiungere quel tavolo ancora una volta al * edmx presentare

+1

fatto, non ha fatto nulla – Funky

+2

hai ricostruire tutta la vostra soluzione dopo che, verificare anche se si aggiunto un riferimento al progetto, invece di una referenza dll – JohnnBlade

+0

Damm !!! Era così! Cheers amico! – Funky

5

ho usato per rimuovere anche e aggiungere nuovamente tavolo, ma mai come questo . Quello che preferisco fare. Chiudo il modello. fare clic destro e aprire come XML e rimuovere manualmente questo riferimento. Quindi mantiene i miei diagrammi multipli all'interno di un modello stesso e anche i miei colori definiti.

2

non è necessario rimuovere l'intera tabella dal file * .EDMX, è sufficiente rimuovere il campo non necessario dal file * .EDMX. Mi ha aiutato a

+0

Non vedo questa opzione nel designer. Devi rimuoverlo manualmente dall'XML? – RayLoveless

+0

Sì, ha funzionato rimuovendolo dall'xml ... Ho anche dovuto eliminare la colonna dall'oggetto C# di generazione. – RayLoveless

1

Mi sono imbattuto anche in quello che ho risolto eliminando la colonna dal file .edmx della vista di progettazione. Un'altra opzione è ciò che menzionato in precedenza nel post che rimuovi la tabella e la aggiungi nuovamente al tuo file .edmx.

Problemi correlati