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

Disabilita cookie ShinyStat

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

I metodi extension negli ADO.NET Data Services

In questo periodo, come avrete probabilmente notato se frequentate l’Area Articoli tecnici di Visual Basic Tips & Tricks, mi sto interessando degli ADO.NET Data Services, una tecnologia che ritengo molto valida anche se con qualche limitazione dovuta al fatto di essere una prima versione.

 

A proposito di limitazioni, è bene sapere che l’utilizzo di metodi extension lato client non è supportato. È infatti possibile utilizzare questi speciali metodi solo all’interno del codice del servizio, ma non nei client, pena il verificarsi di una NotSupportedException.

 

Mi sono reso conto che c’era qualcosa di troppo strano quando codice come il seguente (peraltro banale), riferibile ad oggetti esposti da un Entity Data Model, veniva compilato correttamente ma sollevava la predetta eccezione a run-time:

 

        'Le seguenti righe sono compilate perchè il codice è corretto

        'ma a runtime si verifica una NotSupportedException nel lato

        'client degli ADO.NET Data Services

        Dim count = Me.NorthwindContext.Customers.Count

        Dim firstCustomer = Me.NorthwindContext.Customers.First

 

Facendo qualche ricerca su Internet sono approdato a questo post di Mattheiu Mezil, Microsoft MVP, il quale conferma che effettivamente i metodi extension non sono supportati da questa versione degli ADO.NET Data Services ed offre una sua soluzione al problema.

 

Per completezza devo aggiungere che ho provato i metodi di conversione AsQueryable e AsEnumerable e questi funzionano.

 

A dire il vero è una limitazione a mio avviso contenuta, nel senso che i metodi extension offrono molte comodità ma ciò che espongono è spesso ottenibile scrivendo un po’ di codice in più.

 

In ogni caso tenetene conto quando mettete le mani sugli ADO.NET Data Services.

 

Alessandro

Print | posted on venerdì 23 gennaio 2009 01:00 | Filed Under [ Visual Basic WCF Data Services/WCF RIA Services/OData ]

Powered by:
Powered By Subtext Powered By ASP.NET