2016-01-26 5 views
7

devo soluzione demo con due progetti come questo:non riesce a impalcatura progetto che ha un riferimento a EDMX

enter image description here

Ho installato T4Scaffolding. Install-Package T4Scaffolding

Ho aggiunto un riferimento di AdventureWorksModel al mio progetto RepoLayer e installare EF6.


Ora, quando si tenta di eseguire il seguente comando:

scaffold repository AdventureWorksModel.Customer alla mia RepoLayer Progetto

ottengo la seguente eccezione:

Get-ProjectType : Cannot find a type matching the name 
'AdventureWorksModel.Customer'. Try specifying the fully-qualified 
type name, including namespace.` 

anche se lo stesso comando funziona correttamente quando lo eseguo sul progetto AdventureWorksModel!

+0

Il nome completo dovrebbe essere 'AdventureWorksModel.Sales.Customer'. – jsanalytics

+0

@jstreet ho provato questo nome ma la stessa eccezione –

risposta

3

Ecco i passi che dovete fare

  1. libreria di classi avendo AdventureWorksModel EDMX (già presente)
  2. libreria di classi "RepoLayer", che sopra biblioteca AdventureWorksModel, EF 6 installato (già presente)
  3. Nella biblioteca "RepoLayer", si prega di T4Scaffolding.Core.VS2015 e T4Scaffolding.VS2015 Nu Ottieni pacchetti. Spero che utilizziate VS 2015
  4. Eseguire il comando scaffolding repository repository AdvwrksModel.Customer per la libreria "RepoLayer". Il repository e la classe DbContext vengono creati correttamente. Ecco screenshot

T4 Scaffolding

aggiornamento relativi a nome EDMX dall'alto schermata Il comando

repository impalcatura AdvwrksModel.Customer

ci dà pensiero importante "AdvwrksModel "è il nome EDMX e lo spazio dei nomi deve essere" AdvwrksModel ". Quindi funzionerà bene.

Dal collegamento del codice fornito; Dopo la costruzione, ha dato lo stesso errore a quello che hai menzionato in questione, poi dopo le indagini si è trattato di un problema di namespace. Allegare screenshot con i punti 1, 2, 3, 4 dovrebbe essere "SledModel", cioè il nome EDMX. Il punto 5 è il repository generato per Race

Immagino che questo risolva il tuo problema. Non sono sicuro di come lo spazio dei nomi fosse diverso dal nome EDMX.

Update EDMX Name

+0

uso Visual Studio 2013 –

+1

Ho usato VS 2013 versione, assicurarmi che T4Scaffolding e T4Scaffolding.Core abbiano l'ultima versione installata da NuGet. Sono stato in grado di creare classi di repository per Cliente, Prodotto ... Ho provato contro .NET 4.5. Ho provato anche con .NET 4.0, funziona correttamente, forse se posso aggiornare l'ultima versione di T4Scaffolding, potrebbero funzionare. –

+0

Eseguo questo comando 'Install-Package T4Scaffolding' su Package Manage Console, facendo in modo che il progetto predefinito' RepoLayer' –

Problemi correlati