Ho riscontrato il seguente errore durante l'esecuzione di una delle mie query LINQ
La mappatura del tipo CLR al tipo EDM è ambigua perché più tipi CLR corrispondono al tipo EDM "Prodotto". Tipo di CLR trovato in precedenza 'TF.MyProject.DAL.Product, tipo CLR appena trovato' TF.MyProject.DTO.Product '.
La classe generata da Entity Framework e l'oggetto DTO si trovano entrambi nel proprio spazio dei nomi. Questo ha funzionato in precedenza e di seguito è quello che ho provato finora ...
Versione Entity Framework: 6.1.3
Di seguito è come è impostato il mio attuale progetto
Il mio progetto
Qualsiasi idea o suggerimento sarà utile. Questo ha funzionato nei miei precedenti progetti con la versione 6. Non sono sicuro se sia specifico per una versione all'interno della release 6 ..
Nota: lo spostamento del DAL a un progetto specifico risolve il problema
Hai due classi con lo stesso nome Product
. Entity Framework utilizza solo nomi di classi , indipendentemente dallo spazio dei nomi o dai file in cui è dichiarato. Il messaggio di errore dice chiaramente che hai due classi di prodotto, una nello spazio TF.MyProject.DAL
nomi TF.MyProject.DAL
e un'altra in TF.MyProject.DTO
.
Prova a rinominare su queste classi di Product
con un altro nome e riprova.