Alla fine ho capito la soluzione del problema. Nella mia domanda sopra, ho affermato che ho un solo file edmx nel mio progetto. È vero in un certo senso. Ma sbagliato nell'altro senso.
Sto usando git per gestire il mio codice. Ho creato un altro file edmx in un altro progetto e ho utilizzato il riferimento di quel progetto nel mio progetto principale.
Quindi ho cambiato git branch con dll in .gitignore. Quelle dll che erano in .gitignore non potevano essere sostituite da git con le dll del ramo appena cambiato. Quindi avevo due riferimenti di file edmx nel mio progetto con dll completamente compilate.
Il problema è stato risolto quando ho controllato attentamente la mia cartella bin e rimosso la dll che in realtà non apparteneva al ramo git corrente.
Spero che ti aiuterà. Commenta qui se qualcosa non è chiaro. Grazie