Sono in perdita per questo:Codice EF Primo: come vedo la proprietà 'EntityValidationErrors' dalla console del pacchetto nuget?
Ho definito le mie classi per un primo approccio al codice di entità framework (4.1.3). Tutto andava bene (stavo creando le tabelle, ecc.) Fino a quando ho iniziato a Seed.
Ora, quando faccio il
Add-Migration "remigrate" ; Update-Database;
ottengo un errore sulla console pacchetto "di convalida non riuscita per una o più entità. Vedi proprietà 'EntityValidationErrors' per maggiori dettagli."
Ho un punto di interruzione nel mio metodo Seed() ma perché sto eseguendo questo sulla console quando il progetto non è in esecuzione, non ho idea di come arrivare ai dettagli (PS - Ho visto il thread Validation failed for one or more entities while saving changes to SQL Server Database using Entity Framework che mostra come posso vedere la proprietà.)
So che il mio metodo Seed() ha un problema perché se inserisco un ritorno subito dopo la chiamata al metodo, l'errore scompare. Quindi, come faccio a impostare il mio punto di interruzione in modo da poter vedere qual è l'errore di convalida? Un pò perso. O c'è un altro modo per rintracciarlo nella console di nuget ??
aggiornamento rapido: ho risolto il problema, monitorando sistematicamente ogni variabile all'interno del mio metodo finché non ho trovato quello che stava causando l'errore. Tuttavia, mi piacerebbe comunque conoscere la risposta alla mia domanda in quanto sarebbe molto più veloce! – jeremy
Penso che potresti eseguire la migrazione a livello di codice e quindi rilevare l'eccezione e iterare sugli errori. Non è l'ideale, ma potrebbe fornirti i dettagli di cui hai bisogno. – Pawel
Frustrante quando la risposta sbagliata è in cima alle risposte e ottiene tutto il merito. Un posto dove StackOverflow chiaramente cade a breve! – jwize