Sto usando EF6. Ho creato due spazi dei nomi per due diversi database ciascuno con il proprio modello di Dati entità. In EF 3.5, quando ho creato un modello da un database, le classi generate sono state tutte mantenute in un unico file creato dal contesto. Vedo in EF 6 i template usati per generare il contesto e le classi.
Sto incontrando un problema in cui entrambi i database hanno una tabella che è essenzialmente la stessa (versione e tabelle di registro). Ho riscontrato il seguente errore durante l'esecuzione di un test unitario per l'acquisizione dei dati dal database:
Metodo di prova SystemDataUnitTests.UnitTest1.TestMethod1 ha gettato un'eccezione: System.Data.Entity.Core.MetadataException: lo schema specificato non è valido. Errori: la mappatura del tipo CLR al tipo EDM è ambigua perché più tipi CLR corrispondono al tipo EDM 'EventLog'. Tipo CLR trovato in precedenza ...
Ho cercato l'errore e non riesco a capire come fare per rimuovere una delle classi e continuare a funzionare.
Grazie a @Pawel ho trovato una soluzione al mio problema.
Se arrivate da una versione precedente di EF come ero e desidera non utilizzare per EF generato classi POCO poi si desidera utilizzare EntityObjects. Ancora una volta, per mantenere la stessa funzionalità delle versioni EF precedenti e voler eseguire l'aggiornamento a EF 6, utilizzare EF 6.x Entity Object Generator.
Il modo migliore per farlo è utilizzare lo strumento "Estensioni e aggiornamenti" in VisualStudio per cercare "EF 6.x EntityObject Generator".