Ho implementato i modelli T4 Repository/Unit of Work di Gil Fink per l'utilizzo in un progetto su cui sto lavorando, il mio primo progetto a grandezza intera che utilizza MVC. Tuttavia, sto ottenendo un errore che non stavo ottenendo prima e non riesco a rintracciarlo. Non so se si tratta di qualcosa con i modelli, o solo di un'impostazione che ho sbagliato, ma in questo momento sono in perdita. Speravo che qualcuno sarebbe stato in grado di far luce sulla situazione.MVC3 EF4 POCO Repository/UnitOfWork Errore di connessione
Ecco la mia messa a punto quadro:
- MVC 3 Beta
- SQL Server 2008 R2
- Ninject v2.1.0.76
- EF4 POCO
- 3 progetti nella soluzione: dati, Entità e l'app MVC.
Sto facendo un primo progetto di DB e utilizzo di EF per creare le classi POCO, tramite il generatore di entità POCO ADO.NET di Microsoft. Quindi utilizzo lo strumento T4 per creare il repository e l'unità di modelli di lavoro. Con questa configurazione e tutte le classi e gli archivi generati, li implemento nell'app MVC utilizzando Ninject per DI. Sto utilizzando il metodo MVC 2 utilizzando un Controller Factory a questo punto, con l'intenzione di modificarlo in seguito nel metodo IDependencyResolver.
Quando utilizzo un repository Mock codificato, l'applicazione funziona come dovrebbe, tuttavia quando lo cambio per utilizzare il binding IRepository, viene visualizzato il seguente errore: "La connessione fornita non è valida perché non è sufficiente Informazioni sui mapping o sui metadati Nome parametro: connessione " Ciò indica che la stringa di connessione per EF alla connessione al DB non è corretta, tuttavia è la stringa predefinita generata dal modello del modello di dati di entità ADO.NET. Forse è anche qualcosa con le impostazioni .edmx.
Qui è la mia stringa di connessione (utilizzando il pratico layout del database Nerd Cena)
<add name="NerdDinnerEntities"
connectionString="metadata=
res://*/Model1.csdl|
res://*/Model1.ssdl|
res://*/Model1.msl;
provider=System.Data.SqlClient;
provider connection string="Data Source=Wayne;Initial Catalog=NerdDinner;Integrated Security=True;Pooling=False;MultipleActiveResultSets=True""
providerName="System.Data.EntityClient" />
chiunque con qualsiasi pensieri/suggerimenti, ecc, sarei estremamente riconoscente.
Edit: ecco il link per il modello T4 sto usando: Repository and Unit of Work T4 Template for Entity Framework
Edit2: L'errore è qualcosa a che fare con la casa che sto usando DI con unità di lavoro. quando rimuovo DI, e manualmente ho le dipendenze nei controller, funziona. Quando provo a implementare DI, si rompe.
In realtà l'ho provato. Ho usato .NET Reflector per assicurarmi di avere il giusto nome assembly per questo. Ho anche provato una soluzione "one-shot" di "res: // * /;", ma non ha funzionato. –
Bingo! Questo ha risolto il mio problema. Grazie @jfar –