2013-02-14 4 views
8

La cosa strana è che funzionava bene pochi giorni fa. Ho aggiunto una nuova colonna a una tabella e ho intenzione di aggiornare il modello tramite il designer e ora dice "La finestra di progettazione del modello di dati di entità non è in grado di visualizzare il file richiesto. È possibile modificare il modello utilizzando l'editor XML."Il progettista del modello di dati di entità non aprirà il file edmx

Non c'è niente di particolarmente degno di nota il nuovo campo, è solo un campo di bit non annullabile in SQL Server 2008.

risposta

6

fisso eliminando il file e rigenerante esso.

+7

Come rigenerare il file .edmx? –

7

Questo mi è successo un paio di volte, di solito quando estrai una soluzione dal sovversione. La ricostruzione del progetto ha sempre risolto il problema per me.

+3

Questa è stata la causa anche per me - Penso che la ragione sia che EntityFramework è un pacchetto nuget, e escludiamo la cartella packages/dal controllo del codice sorgente (perché sono binari che vengono semplicemente scaricati nuovamente). Una ricostruzione fa scaricare tutti i pacchetti, il che rende le DLL di EntityFramework e tali disponibili. – Felix

+1

Esattamente quello che è successo a me – CodeMilian

2

Questo è successo a me quando ho aggiunto un campo a una tabella che è stato utilizzato in una funzione come RETURN (SELECT TableName. * ....)

La sottonodo CollectionSet del nodo ReturnType per quella funzione nel EDMX non è stato aggiornato.

Per risolvere il problema, è sufficiente eseguire ALTER FUNCTION (senza effettivamente modificarlo), quindi aggiornare il modello dal database in Visual Studio.

0

Appena avuto un problema simile: niente nella finestra di progettazione.

Facendo doppio clic su ciascuna entità nel browser del modello, sono stati visualizzati nuovamente.

0

Non ho la possibilità di eliminare edmx.

Ho provato a pulire, uscire vs e quindi a costruire.

Soluzione: copiare incolla dal controllo del codice sorgente in .edmx e .edmx.diagram, quindi ricompilare.

Stavo ottenendo questo errore da una fusione particolarmente cattiva.

0

Alcune volte questo problema si verifica perché la rappresentazione XML del modello presenta alcuni conflitti. Nel mio caso, l'errore è stato causato dal fatto che il modello aveva un riferimento conflittuale, in altre parole, c'era un riferimento a una tabella che è stata rimossa manualmente nell'XML e la rimozione non è stata eseguita correttamente (hanno lasciato il riferimento EntityType ma rimosso tutto il resto).

Ho appena aperto il file XML e il problema è stato sottolineato, l'ho appena rimosso e risolto il problema, il modello è stato mostrato senza problemi.

3

Incontro anche quello schermo fastidioso. No, NON voglio modificare il mio modello in XML ... Voglio il bel progettista! Nel mio caso ho aggiunto una tabella che non aveva una chiave primaria. Per risolvere ...

1) Aprire l'edmx in XML

2) Eliminare la tabella errata. Dovrebbe essere ben definito con un commento "< - ERRORE".

3) Pulire e ricostruire.

4) Chiudere e riaprire Visual Studio (sì, è fastidioso ma necessario)

5) Ricostruire una volta di più, quindi aprire il file di edmx. Dovrebbe aprire la multa del progettista.

Spero che questo aiuti.

+0

Mi è piaciuto il "fastidioso ma necessario" .. Benvenuti in SO. –

+0

hahaha .. Grazie. :) Felice di essere finalmente in grado di aiutare. Ho cercato SO per anni. Trovare risposte valide e solide per Entity Framework è stato il mio primo vero contributo. :) – Ashley

+0

Ricorda che la risposta non è l'unico modo per aiutarti, anche per votare, commentare, controllare le code. Non hai ancora la reputazione di questi accenti, ma mantieni il buon lavoro e arriverai in pochissimo tempo. :) –

0

Ho risolto il problema modificando l'installazione e selezionando il modulo di sviluppo desktop .net + Singoli componenti: Strumenti Entity Framework 6 e strumenti di sviluppo .NET Framework 3.5.

Non so se meno avrebbe potuto fare il trucco.