Entity Framework: una violación de restricción de integridad referencial en una relación de muchos a muchos

Hola, tengo una aplicación con un montón de almacenamiento en caché inproc y marco de entidades. Cuando quiero escribir una actualización para una entidad, vuelvo a adjuntar la copia en caché. Rastreo todas las cosas que he adjuntado en el ciclo de vida del contexto, por lo que no trato de adjuntarlas dos veces.

Se produce un error al adjuntar (muy raramente, en la mayoría de los casos, esto funciona bien y es muy rápido) que dice lo siguiente:

Se produjo una infracción de restricción de integridad referencial: los valores de propiedad que definen las restricciones referenciales no son consistentes entre los objetos principales y dependientes en la relación.

He echado un vistazo a la entidad que parece normal. Creo que este problema se debe al archivo adjunto / desprendimiento de una clave externa cuando se ejecutan las correcciones.

¿Existe una buena manera de obtener más información sobre este error o puede ocurrir por razones distintas a la de que la entidad estaba en un estado que EF no esperaba?

EDITAR: Diagrama de DB (nota que estoy usando codefirst, solo usé la herramienta EDMX para hacer el diagrama, también he eliminado un montón de propiedades regulares del modelo para simplificar)

Respuestas a la pregunta(6)

Su respuesta a la pregunta