mi stoEntity Framework e l'eredità: NotSupportedException
System.NotSupportedException: Tutti gli oggetti in 'Entities.Message' EntitySet devono avere unici chiavi primarie. Tuttavia, un'istanza di tipo 'Model.Message' e un'istanza di tipo 'Model.Comment' entrambi hanno lo stesso valore chiave primaria
ma non ho idea di cosa significa.
Utilizzando EF4, ho un gruppo di entità di tipo Messaggio. Alcuni di questi messaggi sono in realtà un sottotipo, Commento, ereditarietà per tabella per tipo. Solo
DB.Message.First();
produrrà l'eccezione. Ho altre istanze di sottotitoli in cui non ho problemi, ma non riesco a vedere alcuna discrepanza. A volte, tuttavia, il problema scompare se riavvio il server di sviluppo, ma non sempre.
Modifica: Ho elaborato (dovrebbe avere prima) che il problema è un errore della stored procedure durante il recupero dei messaggi. Il modo in cui è impostato attualmente come tutti i campi relativi a Messaggio viene recuperato, la tabella dei commenti viene ignorata dallo sproc. Il contesto procede quindi a rimuoverlo, probabilmente recuperando quei Messaggi che sono anche di nuovo Commenti, come suggerito. Come farlo correttamente è la questione centrale a portata di mano. Ho trovato alcune indicazioni per una soluzione al http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/bb0bb421-ba8e-4b35-b7a7-950901adb602.
Puoi pubblicare le firme delle classi Messaggio e Commento? – Basic
Scusa, non ti capisco. Vuoi vedere i membri? Tutti loro o solo quelli generati da EF? – Martin
Hai controllato questo bug? https://connect.microsoft.com/VisualStudio/feedback/details/544639/ef4-inheritance-defined-using-queryview-doesnt-work-properly-with-association –