Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Visual Studio 2012, Entity Framework, DbContext per default e i RIA Services

Come forse sapete con la versione 5 di ADO.NET Entity Framework è stato introdotto un nuovo paradigma chiamato Code First, basato su una classe chiamata DbContext che è più snella dell'ObjectContext e che richiede la stesura del modello a oggetti scrivendo le proprie classi.

Se non avete mai sentito parlare di Code First, il nostro Antonio Catucci ha un articolo che fa per voi.

Poiché questo approccio ha ottenuto un discreto successo, con Visual Studio 2012 gli Entity Data Model generati dall'IDE e modificabili da designer non usano più l'ObjectContext e il suo ecosistema, ma direttamente la classe DbContext, con la DbSet ecc. ecc.

Questo è importante perché, sebbene a design-time molte differenze possono passare inosservate, in fase di scrittura del codice dovremo essere pronti a usare i nuovi metodi.

C'è un particolare scenario, però, da tenere in considerazione: i WCF RIA Services. Quando aggiungete un nuovo EDM con Visual Studio 2012 a un RIA Service, tale EDM si baserà sulla classe DbContext ma la classe DomainService e la collega LinqDomainService supportano solo la ObjectContext.

Infatti, se si tenta di aggiungere una DomainService a un progetto in cui c'è un Entity Data Model nuovo, Visual Studio non sarà in grado di rilevare le entità. La soluzione è convertire l'EDM affinché usi la classe ObjectContext.

Per fare questo si va nel designer del modello, tasto destro -> Properties. Si modifica il valore della proprietà Code Generation Strategy da None a Default. Poi in Solution Explorer si eliminano i due file con estensione .tt (nidificati nel file .Edmx) e si ricompila il progetto.

A questo punto tutto è tornato come nel passato e VS 2012 sarà in grado di far vedere a una classe domain service le vostre entità.

Alessandro

Print | posted on mercoledì 5 settembre 2012 17:35 | Filed Under [ WCF Data Services/WCF RIA Services/OData Visual Studio 2012 ]

Powered by:
Powered By Subtext Powered By ASP.NET