Ehi Ho un'applicazione con una serie di caching inproc e framework di entità. Quando voglio scrivere un aggiornamento a un'entità, ricollego la copia cache. Traccio tutte le cose che ho allegato nel ciclo di vita del contesto, quindi non provo a collegarle due volte.Entity Framework: violazione di un vincolo di integrità referenziale in relazione molti a molti
ho un errore che si verifica sulla allegare (molto raramente nella maggior parte dei casi questo funziona bene ed è veramente veloce), che dice quanto segue:
Una violazione vincolo di integrità referenziale si è verificato: la proprietà valori che definiscono il i vincoli referenziali non sono coerenti tra tra principale e oggetti dipendenti nella relazione.
Ho guardato con attenzione l'entità che sembra normale. Penso che questo problema sia dovuto all'allegato/al distacco di una chiave esterna durante l'esecuzione delle correzioni.
C'è un buon modo per ottenere ulteriori informazioni su questo errore o può verificarsi per motivi diversi da quello che l'entità era in uno stato che EF non si aspettava?
EDIT: DB Schema (nota sto usando codefirst Ho appena utilizzato lo strumento EDMX per rendere lo schema, ho tritato anche un gruppo di proprietà regolari dal modello per semplicità)
Stai utilizzando il codice prima o il modello per primo - e altre informazioni sul modello che hai, tabelle/classi relative all'errore e come sono mappati molti a molti. Nel caso tu stia utilizzando il codice per primo, preferisco fare la relazione "manualmente" in modo da poter controllare tutti gli aspetti ed evitare cose simili. Dall'altro lato, l'errore di integrità referenziale è probabile che significhi solo questo: non penso che sia lo stato dell'oggetto, anche se potrebbe manifestarsi in un modo simile a quanto immagino. – NSGaga
Sto usando CodeFirst, il mio modello è davvero semplice, mal postare un diagramma in un secondo –
Luke, puoi dare la parte CF, come mappare le cose - come sono le tue classi modello, il tuo codice di migrazione? Essere in grado di aiutare chiunque con questo. – NSGaga