2011-12-29 5 views

risposta

7

L'errore indica che la colonna nella tabella/vista non è annullabile ma la proprietà della classe nel modello di entità è annullabile. Devono essere entrambi annullabili o non annullabili.

+0

Come faccio a cambiare la colonna nella tabella per essere nullable? (nel edmx non nel database - ho già cambiato il loro) – markmnl

+1

questo è super fastidioso. Ho cambiato la mia colonna di tabella da nullable a non nullable e aggiornato il mio modello dal database. ma sembra che non sta cambiando la proprietà dell'entità a non annullabile e continuo a ricevere questo errore –

+7

@SonicSoul Ho lo stesso problema. È fastidioso. L'ho risolto rimuovendo tutti i tavoli dal designer e aggiungendoli nuovamente. –

8

aggiornare la tabella nel edmx dal database (Nel browser Modello, fare clic destro -> Aggiorna modello dal database -> scheda di aggiornamento -> Seleziona il tuo tavolo -> clicca aggiornamento)

1

I ottenuto questo problema dopo aver modificato una colonna nulla-nullable in una colonna nullable. Che ha risolto il problema per me è stata la seguente:

  1. Modificare manualmente la colonna e il link della colonna dovuto a un altro tavolo a (0 ... 1) nel file .edbx.
  2. Dopo la modifica manuale viene descritta una tabella di aggiornamento come DRM.

Una delle azioni da sola non ha risolto il mio problema (si sente come un problema tecnico). Spero che questo possa aiutare qualcuno.

+0

Nel mio caso (EF 3.5 ancora) l'hack era nel .edmx. – Tim

0

Questo è su EF 4.5 che sto trovando questo, le versioni precedenti potrebbero non avere questo problema esatto.

DRM menziona il modo di aggiornarlo, ma ho scoperto che a volte anche quando lo aggiorni alcune delle piccole modifiche, come cambiare i campi richiesti o cambiare i nomi dei campi, non li cambia in EDMX anche se aggiorni esso. Pertanto i tuoi modelli di dati non corrispondono esattamente al database.

Ho trovato il modo migliore per garantire che i modelli di entità edmx siano corretti è eliminare edmx e riaggiungerlo. Dopo aver fatto il primo approccio al database su EF 4.5, penso che Entity sembra giocare meglio con il primo approccio al codice invece del primo database.

1

Basta eliminare quella particolare tabella dal modello e aggiungerla di nuovo. Questo risolverà il tuo problema.

0

Se si desidera mantenere la registrazione. Solo annullare rimuove gli errori altrimenti ricostruito tavolo

0

ho preso risolto da 1. Eliminare le tabelle particolari dal modello 2. Fare clic destro sul modello, selezionare il modello di aggiornamento dal database, selezionare le tabelle cancellati e fare clic su Fine.

Problemi correlati