Sto lavorando con EF6
e EF6
generando modelli (database-first) da più database. Alcuni database hanno lo stesso nome di tabella, quindi quando il modello viene generato iniziano in conflitto. Per risolvere il problema dello namespace
dei namespace
, sono passato alle proprietà del file Model.tt
in Solution Explorer e ho cambiato lo Custom Tool Namespace
Tuttavia questo ha risolto il mio problema solo parzialmente quando si generano altri modelli duplicati (stesso nome di tabella). I file .cs
vengono ancora inseriti nella directory del progetto e le stesse entità dei nomi delle tabelle vengono sovrascritte.
Come imposto la directory di output del modello in EF6? O risolvi questo in un altro modo?
EDIT: dopo aver spostato .edmx
nella propria cartella, sto ricevendo {"Unable to load the specified metadata resource."}
Quando si accede ai metadati sulla riga var objectContext = ((IObjectContextAdapter)this.Ecom).ObjectContext;
Grazie a @CodeCaster
Crea una cartella fisica nella directory del tuo progetto
Aggiungilo al tuo progetto includendolo in Solution Explorer
Aggiungi il modello in quella directory (l'ho copiato ma potresti provare a generarne uno nuovo)
Controlla in Web.config
/ ( app.config
) se la stringa di connessione EF generata ha i suoi metadati impostati come segue (la struttura della directory è fatta con .
(Punto) non /
(barra) come segue res: // /Ecom.Ecom.csdl (da res: // /Ecom.csdl mentre non si trova nella propria cartella).
Spero che questo salvi un po 'di tempo.